From: vanshika.shukla@nxp.com
To: dev@dpdk.org, Hemant Agrawal <hemant.agrawal@nxp.com>,
Sachin Saxena <sachin.saxena@nxp.com>
Cc: Jun Yang <jun.yang@nxp.com>
Subject: [v2 26/43] net/dpaa2: enhancement of raw flow extract
Date: Wed, 18 Sep 2024 13:20:39 +0530 [thread overview]
Message-ID: <20240918075056.1838654-27-vanshika.shukla@nxp.com> (raw)
In-Reply-To: <20240918075056.1838654-1-vanshika.shukla@nxp.com>
From: Jun Yang <jun.yang@nxp.com>
Support combination of RAW extract and header extracts.
RAW extract can start from any absolute offset.
TBD: relative offset support.
To support relative offset of previous L3 protocol item,
extracts should be expanded to identify if the frame is:
vlan or none-vlan.
To support relative offset of previous L4 protocol item,
extracts should be expanded to identify if the frame is:
vlan/IPv4 or vlan/IPv6 or none-vlan/IPv4 or none-vlan/IPv6.
Signed-off-by: Jun Yang <jun.yang@nxp.com>
---
drivers/net/dpaa2/dpaa2_ethdev.h | 10 +
drivers/net/dpaa2/dpaa2_flow.c | 385 ++++++++++++++++++++++++++-----
2 files changed, 340 insertions(+), 55 deletions(-)
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.h b/drivers/net/dpaa2/dpaa2_ethdev.h
index c864859b3f..8f548467a4 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.h
+++ b/drivers/net/dpaa2/dpaa2_ethdev.h
@@ -292,6 +292,11 @@ struct key_prot_field {
uint32_t key_field;
};
+struct dpaa2_raw_region {
+ uint8_t raw_start;
+ uint8_t raw_size;
+};
+
struct dpaa2_key_profile {
uint8_t num;
uint8_t key_offset[DPKG_MAX_NUM_OF_EXTRACTS];
@@ -301,6 +306,10 @@ struct dpaa2_key_profile {
uint8_t ip_addr_extract_pos;
uint8_t ip_addr_extract_off;
+ uint8_t raw_extract_pos;
+ uint8_t raw_extract_off;
+ uint8_t raw_extract_num;
+
uint8_t l4_src_port_present;
uint8_t l4_src_port_pos;
uint8_t l4_src_port_offset;
@@ -309,6 +318,7 @@ struct dpaa2_key_profile {
uint8_t l4_dst_port_offset;
struct key_prot_field prot_field[DPKG_MAX_NUM_OF_EXTRACTS];
uint16_t key_max_size;
+ struct dpaa2_raw_region raw_region;
};
struct dpaa2_key_extract {
diff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c
index 0522fdb026..fe3c9f6d7d 100644
--- a/drivers/net/dpaa2/dpaa2_flow.c
+++ b/drivers/net/dpaa2/dpaa2_flow.c
@@ -772,42 +772,272 @@ dpaa2_flow_extract_add_hdr(enum net_prot prot,
}
static int
-dpaa2_flow_extract_add_raw(struct dpaa2_key_extract *key_extract,
- int size)
+dpaa2_flow_extract_new_raw(struct dpaa2_dev_priv *priv,
+ int offset, int size,
+ enum dpaa2_flow_dist_type dist_type, int tc_id)
{
- struct dpkg_profile_cfg *dpkg = &key_extract->dpkg;
- struct dpaa2_key_profile *key_info = &key_extract->key_profile;
- int last_extract_size, index;
+ struct dpaa2_key_extract *key_extract;
+ struct dpkg_profile_cfg *dpkg;
+ struct dpaa2_key_profile *key_profile;
+ int last_extract_size, index, pos, item_size;
+ uint8_t num_extracts;
+ uint32_t field;
- if (dpkg->num_extracts != 0 && dpkg->extracts[0].type !=
- DPKG_EXTRACT_FROM_DATA) {
- DPAA2_PMD_WARN("RAW extract cannot be combined with others");
- return -1;
- }
+ if (dist_type == DPAA2_FLOW_QOS_TYPE)
+ key_extract = &priv->extract.qos_key_extract;
+ else
+ key_extract = &priv->extract.tc_key_extract[tc_id];
+
+ dpkg = &key_extract->dpkg;
+ key_profile = &key_extract->key_profile;
+
+ key_profile->raw_region.raw_start = 0;
+ key_profile->raw_region.raw_size = 0;
last_extract_size = (size % DPAA2_FLOW_MAX_KEY_SIZE);
- dpkg->num_extracts = (size / DPAA2_FLOW_MAX_KEY_SIZE);
+ num_extracts = (size / DPAA2_FLOW_MAX_KEY_SIZE);
if (last_extract_size)
- dpkg->num_extracts++;
+ num_extracts++;
else
last_extract_size = DPAA2_FLOW_MAX_KEY_SIZE;
- for (index = 0; index < dpkg->num_extracts; index++) {
- dpkg->extracts[index].type = DPKG_EXTRACT_FROM_DATA;
- if (index == dpkg->num_extracts - 1)
- dpkg->extracts[index].extract.from_data.size =
- last_extract_size;
+ for (index = 0; index < num_extracts; index++) {
+ if (index == num_extracts - 1)
+ item_size = last_extract_size;
else
- dpkg->extracts[index].extract.from_data.size =
- DPAA2_FLOW_MAX_KEY_SIZE;
- dpkg->extracts[index].extract.from_data.offset =
- DPAA2_FLOW_MAX_KEY_SIZE * index;
+ item_size = DPAA2_FLOW_MAX_KEY_SIZE;
+ field = offset << DPAA2_FLOW_RAW_OFFSET_FIELD_SHIFT;
+ field |= item_size;
+
+ pos = dpaa2_flow_key_profile_advance(NET_PROT_PAYLOAD,
+ field, item_size, priv, dist_type,
+ tc_id, NULL);
+ if (pos < 0)
+ return pos;
+
+ dpkg->extracts[pos].type = DPKG_EXTRACT_FROM_DATA;
+ dpkg->extracts[pos].extract.from_data.size = item_size;
+ dpkg->extracts[pos].extract.from_data.offset = offset;
+
+ if (index == 0) {
+ key_profile->raw_extract_pos = pos;
+ key_profile->raw_extract_off =
+ key_profile->key_offset[pos];
+ key_profile->raw_region.raw_start = offset;
+ }
+ key_profile->raw_extract_num++;
+ key_profile->raw_region.raw_size +=
+ key_profile->key_size[pos];
+
+ offset += item_size;
+ dpkg->num_extracts++;
}
- key_info->key_max_size = size;
return 0;
}
+static int
+dpaa2_flow_extract_add_raw(struct dpaa2_dev_priv *priv,
+ int offset, int size, enum dpaa2_flow_dist_type dist_type,
+ int tc_id, int *recfg)
+{
+ struct dpaa2_key_profile *key_profile;
+ struct dpaa2_raw_region *raw_region;
+ int end = offset + size, ret = 0, extract_extended, sz_extend;
+ int start_cmp, end_cmp, new_size, index, pos, end_pos;
+ int last_extract_size, item_size, num_extracts, bk_num = 0;
+ struct dpkg_extract extract_bk[DPKG_MAX_NUM_OF_EXTRACTS];
+ uint8_t key_offset_bk[DPKG_MAX_NUM_OF_EXTRACTS];
+ uint8_t key_size_bk[DPKG_MAX_NUM_OF_EXTRACTS];
+ struct key_prot_field prot_field_bk[DPKG_MAX_NUM_OF_EXTRACTS];
+ struct dpaa2_raw_region raw_hole;
+ struct dpkg_profile_cfg *dpkg;
+ enum net_prot prot;
+ uint32_t field;
+
+ if (dist_type == DPAA2_FLOW_QOS_TYPE) {
+ key_profile = &priv->extract.qos_key_extract.key_profile;
+ dpkg = &priv->extract.qos_key_extract.dpkg;
+ } else {
+ key_profile = &priv->extract.tc_key_extract[tc_id].key_profile;
+ dpkg = &priv->extract.tc_key_extract[tc_id].dpkg;
+ }
+
+ raw_region = &key_profile->raw_region;
+ if (!raw_region->raw_size) {
+ /* New RAW region*/
+ ret = dpaa2_flow_extract_new_raw(priv, offset, size,
+ dist_type, tc_id);
+ if (!ret && recfg)
+ (*recfg) |= dist_type;
+
+ return ret;
+ }
+ start_cmp = raw_region->raw_start;
+ end_cmp = raw_region->raw_start + raw_region->raw_size;
+
+ if (offset >= start_cmp && end <= end_cmp)
+ return 0;
+
+ sz_extend = 0;
+ new_size = raw_region->raw_size;
+ if (offset < start_cmp) {
+ sz_extend += start_cmp - offset;
+ new_size += (start_cmp - offset);
+ }
+ if (end > end_cmp) {
+ sz_extend += end - end_cmp;
+ new_size += (end - end_cmp);
+ }
+
+ last_extract_size = (new_size % DPAA2_FLOW_MAX_KEY_SIZE);
+ num_extracts = (new_size / DPAA2_FLOW_MAX_KEY_SIZE);
+ if (last_extract_size)
+ num_extracts++;
+ else
+ last_extract_size = DPAA2_FLOW_MAX_KEY_SIZE;
+
+ if ((key_profile->num + num_extracts -
+ key_profile->raw_extract_num) >=
+ DPKG_MAX_NUM_OF_EXTRACTS) {
+ DPAA2_PMD_ERR("%s Failed to expand raw extracts",
+ __func__);
+ return -EINVAL;
+ }
+
+ if (offset < start_cmp) {
+ raw_hole.raw_start = key_profile->raw_extract_off;
+ raw_hole.raw_size = start_cmp - offset;
+ raw_region->raw_start = offset;
+ raw_region->raw_size += start_cmp - offset;
+
+ if (dist_type & DPAA2_FLOW_QOS_TYPE) {
+ ret = dpaa2_flow_qos_rule_insert_hole(priv,
+ raw_hole.raw_start,
+ raw_hole.raw_size);
+ if (ret)
+ return ret;
+ }
+ if (dist_type & DPAA2_FLOW_FS_TYPE) {
+ ret = dpaa2_flow_fs_rule_insert_hole(priv,
+ raw_hole.raw_start,
+ raw_hole.raw_size, tc_id);
+ if (ret)
+ return ret;
+ }
+ }
+
+ if (end > end_cmp) {
+ raw_hole.raw_start =
+ key_profile->raw_extract_off +
+ raw_region->raw_size;
+ raw_hole.raw_size = end - end_cmp;
+ raw_region->raw_size += end - end_cmp;
+
+ if (dist_type & DPAA2_FLOW_QOS_TYPE) {
+ ret = dpaa2_flow_qos_rule_insert_hole(priv,
+ raw_hole.raw_start,
+ raw_hole.raw_size);
+ if (ret)
+ return ret;
+ }
+ if (dist_type & DPAA2_FLOW_FS_TYPE) {
+ ret = dpaa2_flow_fs_rule_insert_hole(priv,
+ raw_hole.raw_start,
+ raw_hole.raw_size, tc_id);
+ if (ret)
+ return ret;
+ }
+ }
+
+ end_pos = key_profile->raw_extract_pos +
+ key_profile->raw_extract_num;
+ if (key_profile->num > end_pos) {
+ bk_num = key_profile->num - end_pos;
+ memcpy(extract_bk, &dpkg->extracts[end_pos],
+ bk_num * sizeof(struct dpkg_extract));
+ memcpy(key_offset_bk, &key_profile->key_offset[end_pos],
+ bk_num * sizeof(uint8_t));
+ memcpy(key_size_bk, &key_profile->key_size[end_pos],
+ bk_num * sizeof(uint8_t));
+ memcpy(prot_field_bk, &key_profile->prot_field[end_pos],
+ bk_num * sizeof(struct key_prot_field));
+
+ for (index = 0; index < bk_num; index++) {
+ key_offset_bk[index] += sz_extend;
+ prot = prot_field_bk[index].prot;
+ field = prot_field_bk[index].key_field;
+ if (dpaa2_flow_l4_src_port_extract(prot,
+ field)) {
+ key_profile->l4_src_port_present = 1;
+ key_profile->l4_src_port_pos = end_pos + index;
+ key_profile->l4_src_port_offset =
+ key_offset_bk[index];
+ } else if (dpaa2_flow_l4_dst_port_extract(prot,
+ field)) {
+ key_profile->l4_dst_port_present = 1;
+ key_profile->l4_dst_port_pos = end_pos + index;
+ key_profile->l4_dst_port_offset =
+ key_offset_bk[index];
+ }
+ }
+ }
+
+ pos = key_profile->raw_extract_pos;
+
+ for (index = 0; index < num_extracts; index++) {
+ if (index == num_extracts - 1)
+ item_size = last_extract_size;
+ else
+ item_size = DPAA2_FLOW_MAX_KEY_SIZE;
+ field = offset << DPAA2_FLOW_RAW_OFFSET_FIELD_SHIFT;
+ field |= item_size;
+
+ if (pos > 0) {
+ key_profile->key_offset[pos] =
+ key_profile->key_offset[pos - 1] +
+ key_profile->key_size[pos - 1];
+ } else {
+ key_profile->key_offset[pos] = 0;
+ }
+ key_profile->key_size[pos] = item_size;
+ key_profile->prot_field[pos].prot = NET_PROT_PAYLOAD;
+ key_profile->prot_field[pos].key_field = field;
+
+ dpkg->extracts[pos].type = DPKG_EXTRACT_FROM_DATA;
+ dpkg->extracts[pos].extract.from_data.size = item_size;
+ dpkg->extracts[pos].extract.from_data.offset = offset;
+ offset += item_size;
+ pos++;
+ }
+
+ if (bk_num) {
+ memcpy(&dpkg->extracts[pos], extract_bk,
+ bk_num * sizeof(struct dpkg_extract));
+ memcpy(&key_profile->key_offset[end_pos],
+ key_offset_bk, bk_num * sizeof(uint8_t));
+ memcpy(&key_profile->key_size[end_pos],
+ key_size_bk, bk_num * sizeof(uint8_t));
+ memcpy(&key_profile->prot_field[end_pos],
+ prot_field_bk, bk_num * sizeof(struct key_prot_field));
+ }
+
+ extract_extended = num_extracts - key_profile->raw_extract_num;
+ if (key_profile->ip_addr_type != IP_NONE_ADDR_EXTRACT) {
+ key_profile->ip_addr_extract_pos += extract_extended;
+ key_profile->ip_addr_extract_off += sz_extend;
+ }
+ key_profile->raw_extract_num = num_extracts;
+ key_profile->num += extract_extended;
+ key_profile->key_max_size += sz_extend;
+
+ dpkg->num_extracts += extract_extended;
+ if (!ret && recfg)
+ (*recfg) |= dist_type;
+
+ return ret;
+}
+
static inline int
dpaa2_flow_extract_search(struct dpaa2_key_profile *key_profile,
enum net_prot prot, uint32_t key_field)
@@ -847,7 +1077,6 @@ dpaa2_flow_extract_key_offset(struct dpaa2_key_profile *key_profile,
int i;
i = dpaa2_flow_extract_search(key_profile, prot, key_field);
-
if (i >= 0)
return key_profile->key_offset[i];
else
@@ -996,13 +1225,37 @@ dpaa2_flow_hdr_rule_data_set(struct dpaa2_dev_flow *flow,
}
static inline int
-dpaa2_flow_rule_data_set_raw(struct dpni_rule_cfg *rule,
- const void *key, const void *mask, int size)
+dpaa2_flow_raw_rule_data_set(struct dpaa2_dev_flow *flow,
+ struct dpaa2_key_profile *key_profile,
+ uint32_t extract_offset, int size,
+ const void *key, const void *mask,
+ enum dpaa2_flow_dist_type dist_type)
{
- int offset = 0;
+ int extract_size = size > DPAA2_FLOW_MAX_KEY_SIZE ?
+ DPAA2_FLOW_MAX_KEY_SIZE : size;
+ int offset, field;
+
+ field = extract_offset << DPAA2_FLOW_RAW_OFFSET_FIELD_SHIFT;
+ field |= extract_size;
+ offset = dpaa2_flow_extract_key_offset(key_profile,
+ NET_PROT_PAYLOAD, field);
+ if (offset < 0) {
+ DPAA2_PMD_ERR("offset(%d)/size(%d) raw extract failed",
+ extract_offset, size);
+ return -EINVAL;
+ }
- memcpy((void *)(size_t)(rule->key_iova + offset), key, size);
- memcpy((void *)(size_t)(rule->mask_iova + offset), mask, size);
+ if (dist_type & DPAA2_FLOW_QOS_TYPE) {
+ memcpy((flow->qos_key_addr + offset), key, size);
+ memcpy((flow->qos_mask_addr + offset), mask, size);
+ flow->qos_rule_size = offset + size;
+ }
+
+ if (dist_type & DPAA2_FLOW_FS_TYPE) {
+ memcpy((flow->fs_key_addr + offset), key, size);
+ memcpy((flow->fs_mask_addr + offset), mask, size);
+ flow->fs_rule_size = offset + size;
+ }
return 0;
}
@@ -2237,22 +2490,36 @@ dpaa2_configure_flow_raw(struct dpaa2_dev_flow *flow,
struct dpaa2_dev_priv *priv = dev->data->dev_private;
const struct rte_flow_item_raw *spec = pattern->spec;
const struct rte_flow_item_raw *mask = pattern->mask;
- int prev_key_size =
- priv->extract.qos_key_extract.key_profile.key_max_size;
int local_cfg = 0, ret;
uint32_t group;
+ struct dpaa2_key_extract *qos_key_extract;
+ struct dpaa2_key_extract *tc_key_extract;
/* Need both spec and mask */
if (!spec || !mask) {
DPAA2_PMD_ERR("spec or mask not present.");
return -EINVAL;
}
- /* Only supports non-relative with offset 0 */
- if (spec->relative || spec->offset != 0 ||
- spec->search || spec->limit) {
- DPAA2_PMD_ERR("relative and non zero offset not supported.");
+
+ if (spec->relative) {
+ /* TBD: relative offset support.
+ * To support relative offset of previous L3 protocol item,
+ * extracts should be expanded to identify if the frame is:
+ * vlan or none-vlan.
+ *
+ * To support relative offset of previous L4 protocol item,
+ * extracts should be expanded to identify if the frame is:
+ * vlan/IPv4 or vlan/IPv6 or none-vlan/IPv4 or none-vlan/IPv6.
+ */
+ DPAA2_PMD_ERR("relative not supported.");
+ return -EINVAL;
+ }
+
+ if (spec->search) {
+ DPAA2_PMD_ERR("search not supported.");
return -EINVAL;
}
+
/* Spec len and mask len should be same */
if (spec->length != mask->length) {
DPAA2_PMD_ERR("Spec len and mask len mismatch.");
@@ -2264,36 +2531,44 @@ dpaa2_configure_flow_raw(struct dpaa2_dev_flow *flow,
flow->tc_id = group;
flow->tc_index = attr->priority;
- if (prev_key_size <= spec->length) {
- ret = dpaa2_flow_extract_add_raw(&priv->extract.qos_key_extract,
- spec->length);
- if (ret) {
- DPAA2_PMD_ERR("QoS Extract RAW add failed.");
- return -1;
- }
- local_cfg |= DPAA2_FLOW_QOS_TYPE;
+ qos_key_extract = &priv->extract.qos_key_extract;
+ tc_key_extract = &priv->extract.tc_key_extract[group];
- ret = dpaa2_flow_extract_add_raw(&priv->extract.tc_key_extract[group],
- spec->length);
- if (ret) {
- DPAA2_PMD_ERR("FS Extract RAW add failed.");
- return -1;
- }
- local_cfg |= DPAA2_FLOW_FS_TYPE;
+ ret = dpaa2_flow_extract_add_raw(priv,
+ spec->offset, spec->length,
+ DPAA2_FLOW_QOS_TYPE, 0, &local_cfg);
+ if (ret) {
+ DPAA2_PMD_ERR("QoS Extract RAW add failed.");
+ return -EINVAL;
}
- ret = dpaa2_flow_rule_data_set_raw(&flow->qos_rule, spec->pattern,
- mask->pattern, spec->length);
+ ret = dpaa2_flow_extract_add_raw(priv,
+ spec->offset, spec->length,
+ DPAA2_FLOW_FS_TYPE, group, &local_cfg);
+ if (ret) {
+ DPAA2_PMD_ERR("FS[%d] Extract RAW add failed.",
+ group);
+ return -EINVAL;
+ }
+
+ ret = dpaa2_flow_raw_rule_data_set(flow,
+ &qos_key_extract->key_profile,
+ spec->offset, spec->length,
+ spec->pattern, mask->pattern,
+ DPAA2_FLOW_QOS_TYPE);
if (ret) {
DPAA2_PMD_ERR("QoS RAW rule data set failed");
- return -1;
+ return -EINVAL;
}
- ret = dpaa2_flow_rule_data_set_raw(&flow->fs_rule, spec->pattern,
- mask->pattern, spec->length);
+ ret = dpaa2_flow_raw_rule_data_set(flow,
+ &tc_key_extract->key_profile,
+ spec->offset, spec->length,
+ spec->pattern, mask->pattern,
+ DPAA2_FLOW_FS_TYPE);
if (ret) {
DPAA2_PMD_ERR("FS RAW rule data set failed");
- return -1;
+ return -EINVAL;
}
(*device_configured) |= local_cfg;
--
2.25.1
next prev parent reply other threads:[~2024-09-18 7:55 UTC|newest]
Thread overview: 229+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 5:59 [v1 00/43] DPAA2 specific patches vanshika.shukla
2024-09-13 5:59 ` [v1 01/43] net/dpaa2: enhance Tx scatter-gather mempool vanshika.shukla
2024-09-13 5:59 ` [v1 02/43] net/dpaa2: support PTP packet one-step timestamp vanshika.shukla
2024-09-13 5:59 ` [v1 03/43] net/dpaa2: add proper MTU debugging print vanshika.shukla
2024-09-13 5:59 ` [v1 04/43] net/dpaa2: add support to dump dpdmux counters vanshika.shukla
2024-09-13 5:59 ` [v1 05/43] bus/fslmc: change dpcon close as internal symbol vanshika.shukla
2024-09-13 5:59 ` [v1 06/43] bus/fslmc: add close API to close DPAA2 device vanshika.shukla
2024-09-13 5:59 ` [v1 07/43] net/dpaa2: dpdmux: add support for CVLAN vanshika.shukla
2024-09-13 5:59 ` [v1 08/43] bus/fslmc: upgrade with MC version 10.37 vanshika.shukla
2024-09-13 5:59 ` [v1 09/43] net/dpaa2: support link state for eth interfaces vanshika.shukla
2024-09-13 5:59 ` [v1 10/43] net/dpaa2: update DPNI link status method vanshika.shukla
2024-09-13 5:59 ` [v1 11/43] net/dpaa2: add new PMD API to check dpaa platform version vanshika.shukla
2024-09-13 5:59 ` [v1 12/43] bus/fslmc: improve BMAN buffer acquire vanshika.shukla
2024-09-13 5:59 ` [v1 13/43] bus/fslmc: get MC VFIO group FD directly vanshika.shukla
2024-09-13 5:59 ` [v1 14/43] bus/fslmc: enhance MC VFIO multiprocess support vanshika.shukla
2024-09-13 5:59 ` [v1 15/43] bus/fslmc: free VFIO group FD in case of add group failure vanshika.shukla
2024-09-13 5:59 ` [v1 16/43] bus/fslmc: dynamic IOVA mode configuration vanshika.shukla
2024-09-13 5:59 ` [v1 17/43] bus/fslmc: remove VFIO IRQ mapping vanshika.shukla
2024-09-13 5:59 ` [v1 18/43] bus/fslmc: create dpaa2 device with it's object vanshika.shukla
2024-09-13 5:59 ` [v1 19/43] bus/fslmc: fix coverity issue vanshika.shukla
2024-09-13 5:59 ` [v1 20/43] bus/fslmc: fix invalid error FD code vanshika.shukla
2024-09-13 5:59 ` [v1 21/43] bus/fslmc: change qbman eq desc from d to desc vanshika.shukla
2024-09-13 5:59 ` [v1 22/43] bus/fslmc: introduce VFIO DMA mapping API for fslmc vanshika.shukla
2024-09-13 5:59 ` [v1 23/43] net/dpaa2: change miss flow ID macro name vanshika.shukla
2024-09-13 5:59 ` [v1 24/43] net/dpaa2: flow API refactor vanshika.shukla
2024-09-13 5:59 ` [v1 25/43] net/dpaa2: dump Rx parser result vanshika.shukla
2024-09-13 5:59 ` [v1 26/43] net/dpaa2: enhancement of raw flow extract vanshika.shukla
2024-09-13 5:59 ` [v1 27/43] net/dpaa2: frame attribute flags parser vanshika.shukla
2024-09-13 5:59 ` [v1 28/43] net/dpaa2: add VXLAN distribution support vanshika.shukla
2024-09-13 5:59 ` [v1 29/43] net/dpaa2: protocol inside tunnel distribution vanshika.shukla
2024-09-13 5:59 ` [v1 30/43] net/dpaa2: eCPRI support by parser result vanshika.shukla
2024-09-13 5:59 ` [v1 31/43] net/dpaa2: add GTP flow support vanshika.shukla
2024-09-13 5:59 ` [v1 32/43] net/dpaa2: check if Soft parser is loaded vanshika.shukla
2024-09-13 5:59 ` [v1 33/43] net/dpaa2: soft parser flow verification vanshika.shukla
2024-09-13 5:59 ` [v1 34/43] net/dpaa2: add flow support for IPsec AH and ESP vanshika.shukla
2024-09-13 5:59 ` [v1 35/43] net/dpaa2: fix memory corruption in TM vanshika.shukla
2024-09-13 5:59 ` [v1 36/43] net/dpaa2: support software taildrop vanshika.shukla
2024-09-13 5:59 ` [v1 37/43] net/dpaa2: check IOVA before sending MC command vanshika.shukla
2024-09-13 5:59 ` [v1 38/43] net/dpaa2: improve DPDMUX error behavior settings vanshika.shukla
2024-09-13 5:59 ` [v1 39/43] net/dpaa2: store drop priority in mbuf vanshika.shukla
2024-09-13 5:59 ` [v1 40/43] net/dpaa2: add API to get endpoint name vanshika.shukla
2024-09-13 5:59 ` [v1 41/43] net/dpaa2: support VLAN traffic splitting vanshika.shukla
2024-09-13 5:59 ` [v1 42/43] net/dpaa2: add support for C-VLAN and MAC vanshika.shukla
2024-09-13 5:59 ` [v1 43/43] net/dpaa2: dpdmux single flow/multiple rules support vanshika.shukla
2024-09-18 7:50 ` [v2 00/43] DPAA2 specific patches vanshika.shukla
2024-09-18 7:50 ` [v2 01/43] net/dpaa2: enhance Tx scatter-gather mempool vanshika.shukla
2024-10-14 12:00 ` [v3 00/43] DPAA2 specific patches vanshika.shukla
2024-10-14 12:00 ` [v3 01/43] net/dpaa2: enhance Tx scatter-gather mempool vanshika.shukla
2024-10-14 12:00 ` [v3 02/43] net/dpaa2: support PTP packet one-step timestamp vanshika.shukla
2024-10-14 12:00 ` [v3 03/43] net/dpaa2: add proper MTU debugging print vanshika.shukla
2024-10-14 12:00 ` [v3 04/43] net/dpaa2: add support to dump dpdmux counters vanshika.shukla
2024-10-14 12:00 ` [v3 05/43] bus/fslmc: change dpcon close as internal symbol vanshika.shukla
2024-10-14 12:00 ` [v3 06/43] bus/fslmc: add close API to close DPAA2 device vanshika.shukla
2024-10-14 12:00 ` [v3 07/43] net/dpaa2: dpdmux: add support for CVLAN vanshika.shukla
2024-10-14 12:00 ` [v3 08/43] bus/fslmc: upgrade with MC version 10.37 vanshika.shukla
2024-10-14 12:00 ` [v3 09/43] net/dpaa2: support link state for eth interfaces vanshika.shukla
2024-10-14 12:00 ` [v3 10/43] net/dpaa2: update DPNI link status method vanshika.shukla
2024-10-14 12:00 ` [v3 11/43] net/dpaa2: add new PMD API to check dpaa platform version vanshika.shukla
2024-10-14 12:00 ` [v3 12/43] bus/fslmc: improve BMAN buffer acquire vanshika.shukla
2024-10-14 12:00 ` [v3 13/43] bus/fslmc: get MC VFIO group FD directly vanshika.shukla
2024-10-15 2:27 ` Stephen Hemminger
2024-10-14 12:00 ` [v3 14/43] bus/fslmc: enhance MC VFIO multiprocess support vanshika.shukla
2024-10-15 2:29 ` Stephen Hemminger
2024-10-14 12:00 ` [v3 15/43] bus/fslmc: free VFIO group FD in case of add group failure vanshika.shukla
2024-10-14 12:00 ` [v3 16/43] bus/fslmc: dynamic IOVA mode configuration vanshika.shukla
2024-10-15 2:31 ` Stephen Hemminger
2024-10-14 12:01 ` [v3 17/43] bus/fslmc: remove VFIO IRQ mapping vanshika.shukla
2024-10-14 12:01 ` [v3 18/43] bus/fslmc: create dpaa2 device with it's object vanshika.shukla
2024-10-14 12:01 ` [v3 19/43] bus/fslmc: fix coverity issue vanshika.shukla
2024-10-14 12:01 ` [v3 20/43] bus/fslmc: fix invalid error FD code vanshika.shukla
2024-10-14 12:01 ` [v3 21/43] bus/fslmc: change qbman eq desc from d to desc vanshika.shukla
2024-10-14 12:01 ` [v3 22/43] bus/fslmc: introduce VFIO DMA mapping API for fslmc vanshika.shukla
2024-10-14 12:01 ` [v3 23/43] net/dpaa2: change miss flow ID macro name vanshika.shukla
2024-10-14 12:01 ` [v3 24/43] net/dpaa2: flow API refactor vanshika.shukla
2024-10-14 12:01 ` [v3 25/43] net/dpaa2: dump Rx parser result vanshika.shukla
2024-10-14 12:01 ` [v3 26/43] net/dpaa2: enhancement of raw flow extract vanshika.shukla
2024-10-14 12:01 ` [v3 27/43] net/dpaa2: frame attribute flags parser vanshika.shukla
2024-10-14 12:01 ` [v3 28/43] net/dpaa2: add VXLAN distribution support vanshika.shukla
2024-10-14 12:01 ` [v3 29/43] net/dpaa2: protocol inside tunnel distribution vanshika.shukla
2024-10-14 12:01 ` [v3 30/43] net/dpaa2: eCPRI support by parser result vanshika.shukla
2024-10-14 12:01 ` [v3 31/43] net/dpaa2: add GTP flow support vanshika.shukla
2024-10-14 12:01 ` [v3 32/43] net/dpaa2: check if Soft parser is loaded vanshika.shukla
2024-10-14 12:01 ` [v3 33/43] net/dpaa2: soft parser flow verification vanshika.shukla
2024-10-14 12:01 ` [v3 34/43] net/dpaa2: add flow support for IPsec AH and ESP vanshika.shukla
2024-10-14 12:01 ` [v3 35/43] net/dpaa2: fix memory corruption in TM vanshika.shukla
2024-10-14 12:01 ` [v3 36/43] net/dpaa2: support software taildrop vanshika.shukla
2024-10-14 12:01 ` [v3 37/43] net/dpaa2: check IOVA before sending MC command vanshika.shukla
2024-10-14 12:01 ` [v3 38/43] net/dpaa2: improve DPDMUX error behavior settings vanshika.shukla
2024-10-14 12:01 ` [v3 39/43] net/dpaa2: store drop priority in mbuf vanshika.shukla
2024-10-14 12:01 ` [v3 40/43] net/dpaa2: add API to get endpoint name vanshika.shukla
2024-10-14 12:01 ` [v3 41/43] net/dpaa2: support VLAN traffic splitting vanshika.shukla
2024-10-14 12:01 ` [v3 42/43] net/dpaa2: add support for C-VLAN and MAC vanshika.shukla
2024-10-14 12:01 ` [v3 43/43] net/dpaa2: dpdmux single flow/multiple rules support vanshika.shukla
2024-10-15 2:32 ` Stephen Hemminger
2024-10-22 19:12 ` [v4 00/42] DPAA2 specific patches vanshika.shukla
2024-10-22 19:12 ` [v4 01/42] net/dpaa2: enhance Tx scatter-gather mempool vanshika.shukla
2024-10-22 19:12 ` [v4 02/42] net/dpaa2: support PTP packet one-step timestamp vanshika.shukla
2024-10-22 19:12 ` [v4 03/42] net/dpaa2: add proper MTU debugging print vanshika.shukla
2024-10-22 19:12 ` [v4 04/42] net/dpaa2: add support to dump dpdmux counters vanshika.shukla
2024-10-22 19:12 ` [v4 05/42] bus/fslmc: change dpcon close as internal symbol vanshika.shukla
2024-10-22 19:12 ` [v4 06/42] bus/fslmc: add close API to close DPAA2 device vanshika.shukla
2024-10-22 19:12 ` [v4 07/42] net/dpaa2: dpdmux: add support for CVLAN vanshika.shukla
2024-10-22 19:12 ` [v4 08/42] bus/fslmc: upgrade with MC version 10.37 vanshika.shukla
2024-10-22 19:12 ` [v4 09/42] net/dpaa2: support link state for eth interfaces vanshika.shukla
2024-10-22 19:12 ` [v4 10/42] net/dpaa2: update DPNI link status method vanshika.shukla
2024-10-22 19:12 ` [v4 11/42] net/dpaa2: add new PMD API to check dpaa platform version vanshika.shukla
2024-10-22 19:12 ` [v4 12/42] bus/fslmc: improve BMAN buffer acquire vanshika.shukla
2024-10-22 19:12 ` [v4 13/42] bus/fslmc: get MC VFIO group FD directly vanshika.shukla
2024-10-22 19:12 ` [v4 14/42] bus/fslmc: enhance MC VFIO multiprocess support vanshika.shukla
2024-10-22 19:12 ` [v4 15/42] bus/fslmc: free VFIO group FD in case of add group failure vanshika.shukla
2024-10-22 19:12 ` [v4 16/42] bus/fslmc: dynamic IOVA mode configuration vanshika.shukla
2024-10-23 1:02 ` Stephen Hemminger
2024-10-22 19:12 ` [v4 17/42] bus/fslmc: remove VFIO IRQ mapping vanshika.shukla
2024-10-22 19:12 ` [v4 18/42] bus/fslmc: create dpaa2 device with it's object vanshika.shukla
2024-10-22 19:12 ` [v4 19/42] bus/fslmc: fix coverity issue vanshika.shukla
2024-10-22 19:12 ` [v4 20/42] bus/fslmc: change qbman eq desc from d to desc vanshika.shukla
2024-10-22 19:12 ` [v4 21/42] bus/fslmc: introduce VFIO DMA mapping API for fslmc vanshika.shukla
2024-10-22 19:12 ` [v4 22/42] net/dpaa2: change miss flow ID macro name vanshika.shukla
2024-10-22 19:12 ` [v4 23/42] net/dpaa2: flow API refactor vanshika.shukla
2024-10-23 0:52 ` Stephen Hemminger
2024-10-23 12:04 ` [EXT] " Vanshika Shukla
2024-10-22 19:12 ` [v4 24/42] net/dpaa2: dump Rx parser result vanshika.shukla
2024-10-22 19:12 ` [v4 25/42] net/dpaa2: enhancement of raw flow extract vanshika.shukla
2024-10-22 19:12 ` [v4 26/42] net/dpaa2: frame attribute flags parser vanshika.shukla
2024-10-22 19:12 ` [v4 27/42] net/dpaa2: add VXLAN distribution support vanshika.shukla
2024-10-22 19:12 ` [v4 28/42] net/dpaa2: protocol inside tunnel distribution vanshika.shukla
2024-10-22 19:12 ` [v4 29/42] net/dpaa2: eCPRI support by parser result vanshika.shukla
2024-10-22 19:12 ` [v4 30/42] net/dpaa2: add GTP flow support vanshika.shukla
2024-10-22 19:12 ` [v4 31/42] net/dpaa2: check if Soft parser is loaded vanshika.shukla
2024-10-22 19:12 ` [v4 32/42] net/dpaa2: soft parser flow verification vanshika.shukla
2024-10-22 19:12 ` [v4 33/42] net/dpaa2: add flow support for IPsec AH and ESP vanshika.shukla
2024-10-22 19:12 ` [v4 34/42] net/dpaa2: fix memory corruption in TM vanshika.shukla
2024-10-22 19:12 ` [v4 35/42] net/dpaa2: support software taildrop vanshika.shukla
2024-10-22 19:12 ` [v4 36/42] net/dpaa2: check IOVA before sending MC command vanshika.shukla
2024-10-22 19:12 ` [v4 37/42] net/dpaa2: improve DPDMUX error behavior settings vanshika.shukla
2024-10-22 19:12 ` [v4 38/42] net/dpaa2: store drop priority in mbuf vanshika.shukla
2024-10-22 19:12 ` [v4 39/42] net/dpaa2: add API to get endpoint name vanshika.shukla
2024-10-22 19:12 ` [v4 40/42] net/dpaa2: support VLAN traffic splitting vanshika.shukla
2024-10-22 19:12 ` [v4 41/42] net/dpaa2: add support for C-VLAN and MAC vanshika.shukla
2024-10-22 19:12 ` [v4 42/42] net/dpaa2: dpdmux single flow/multiple rules support vanshika.shukla
2024-10-23 11:59 ` [v5 00/42] DPAA2 specific patches vanshika.shukla
2024-10-23 11:59 ` [v5 01/42] net/dpaa2: enhance Tx scatter-gather mempool vanshika.shukla
2024-10-23 11:59 ` [v5 02/42] net/dpaa2: support PTP packet one-step timestamp vanshika.shukla
2024-10-23 11:59 ` [v5 03/42] net/dpaa2: add proper MTU debugging print vanshika.shukla
2024-10-23 11:59 ` [v5 04/42] net/dpaa2: add support to dump dpdmux counters vanshika.shukla
2024-10-23 11:59 ` [v5 05/42] bus/fslmc: change dpcon close as internal symbol vanshika.shukla
2024-10-23 11:59 ` [v5 06/42] bus/fslmc: add close API to close DPAA2 device vanshika.shukla
2024-10-23 11:59 ` [v5 07/42] net/dpaa2: dpdmux: add support for CVLAN vanshika.shukla
2024-10-23 11:59 ` [v5 08/42] bus/fslmc: upgrade with MC version 10.37 vanshika.shukla
2024-10-23 11:59 ` [v5 09/42] net/dpaa2: support link state for eth interfaces vanshika.shukla
2024-10-23 11:59 ` [v5 10/42] net/dpaa2: update DPNI link status method vanshika.shukla
2024-10-23 11:59 ` [v5 11/42] net/dpaa2: add new PMD API to check dpaa platform version vanshika.shukla
2024-10-23 11:59 ` [v5 12/42] bus/fslmc: improve BMAN buffer acquire vanshika.shukla
2024-10-23 11:59 ` [v5 13/42] bus/fslmc: get MC VFIO group FD directly vanshika.shukla
2024-10-23 11:59 ` [v5 14/42] bus/fslmc: enhance MC VFIO multiprocess support vanshika.shukla
2024-11-09 17:07 ` Thomas Monjalon
2024-10-23 11:59 ` [v5 15/42] bus/fslmc: free VFIO group FD in case of add group failure vanshika.shukla
2024-10-23 11:59 ` [v5 16/42] bus/fslmc: dynamic IOVA mode configuration vanshika.shukla
2024-10-23 11:59 ` [v5 17/42] bus/fslmc: remove VFIO IRQ mapping vanshika.shukla
2024-10-23 11:59 ` [v5 18/42] bus/fslmc: create dpaa2 device with it's object vanshika.shukla
2024-10-23 11:59 ` [v5 19/42] bus/fslmc: fix coverity issue vanshika.shukla
2024-10-23 11:59 ` [v5 20/42] bus/fslmc: change qbman eq desc from d to desc vanshika.shukla
2024-10-23 11:59 ` [v5 21/42] bus/fslmc: introduce VFIO DMA mapping API for fslmc vanshika.shukla
2024-10-23 11:59 ` [v5 22/42] net/dpaa2: change miss flow ID macro name vanshika.shukla
2024-10-23 11:59 ` [v5 23/42] net/dpaa2: flow API refactor vanshika.shukla
2024-11-09 19:01 ` Thomas Monjalon
2024-10-23 11:59 ` [v5 24/42] net/dpaa2: dump Rx parser result vanshika.shukla
2024-10-23 11:59 ` [v5 25/42] net/dpaa2: enhancement of raw flow extract vanshika.shukla
2024-10-23 11:59 ` [v5 26/42] net/dpaa2: frame attribute flags parser vanshika.shukla
2024-10-23 11:59 ` [v5 27/42] net/dpaa2: add VXLAN distribution support vanshika.shukla
2024-10-23 11:59 ` [v5 28/42] net/dpaa2: protocol inside tunnel distribution vanshika.shukla
2024-10-23 11:59 ` [v5 29/42] net/dpaa2: eCPRI support by parser result vanshika.shukla
2024-10-23 11:59 ` [v5 30/42] net/dpaa2: add GTP flow support vanshika.shukla
2024-10-23 11:59 ` [v5 31/42] net/dpaa2: check if Soft parser is loaded vanshika.shukla
2024-10-23 11:59 ` [v5 32/42] net/dpaa2: soft parser flow verification vanshika.shukla
2024-10-23 11:59 ` [v5 33/42] net/dpaa2: add flow support for IPsec AH and ESP vanshika.shukla
2024-10-23 11:59 ` [v5 34/42] net/dpaa2: fix memory corruption in TM vanshika.shukla
2024-10-23 11:59 ` [v5 35/42] net/dpaa2: support software taildrop vanshika.shukla
2024-10-23 11:59 ` [v5 36/42] net/dpaa2: check IOVA before sending MC command vanshika.shukla
2024-10-23 11:59 ` [v5 37/42] net/dpaa2: improve DPDMUX error behavior settings vanshika.shukla
2024-10-23 11:59 ` [v5 38/42] net/dpaa2: store drop priority in mbuf vanshika.shukla
2024-10-23 11:59 ` [v5 39/42] net/dpaa2: add API to get endpoint name vanshika.shukla
2024-10-23 11:59 ` [v5 40/42] net/dpaa2: support VLAN traffic splitting vanshika.shukla
2024-10-23 11:59 ` [v5 41/42] net/dpaa2: add support for C-VLAN and MAC vanshika.shukla
2024-10-23 11:59 ` [v5 42/42] net/dpaa2: dpdmux single flow/multiple rules support vanshika.shukla
2024-11-07 11:24 ` [v5 00/42] DPAA2 specific patches Hemant Agrawal
2024-09-18 7:50 ` [v2 02/43] net/dpaa2: support PTP packet one-step timestamp vanshika.shukla
2024-09-18 7:50 ` [v2 03/43] net/dpaa2: add proper MTU debugging print vanshika.shukla
2024-09-18 7:50 ` [v2 04/43] net/dpaa2: add support to dump dpdmux counters vanshika.shukla
2024-09-18 7:50 ` [v2 05/43] bus/fslmc: change dpcon close as internal symbol vanshika.shukla
2024-09-18 7:50 ` [v2 06/43] bus/fslmc: add close API to close DPAA2 device vanshika.shukla
2024-09-18 7:50 ` [v2 07/43] net/dpaa2: dpdmux: add support for CVLAN vanshika.shukla
2024-09-18 7:50 ` [v2 08/43] bus/fslmc: upgrade with MC version 10.37 vanshika.shukla
2024-09-18 7:50 ` [v2 09/43] net/dpaa2: support link state for eth interfaces vanshika.shukla
2024-09-18 7:50 ` [v2 10/43] net/dpaa2: update DPNI link status method vanshika.shukla
2024-09-18 7:50 ` [v2 11/43] net/dpaa2: add new PMD API to check dpaa platform version vanshika.shukla
2024-09-18 7:50 ` [v2 12/43] bus/fslmc: improve BMAN buffer acquire vanshika.shukla
2024-09-18 7:50 ` [v2 13/43] bus/fslmc: get MC VFIO group FD directly vanshika.shukla
2024-09-18 7:50 ` [v2 14/43] bus/fslmc: enhance MC VFIO multiprocess support vanshika.shukla
2024-09-18 7:50 ` [v2 15/43] bus/fslmc: free VFIO group FD in case of add group failure vanshika.shukla
2024-09-18 7:50 ` [v2 16/43] bus/fslmc: dynamic IOVA mode configuration vanshika.shukla
2024-09-18 7:50 ` [v2 17/43] bus/fslmc: remove VFIO IRQ mapping vanshika.shukla
2024-09-18 7:50 ` [v2 18/43] bus/fslmc: create dpaa2 device with it's object vanshika.shukla
2024-09-18 7:50 ` [v2 19/43] bus/fslmc: fix coverity issue vanshika.shukla
2024-09-18 7:50 ` [v2 20/43] bus/fslmc: fix invalid error FD code vanshika.shukla
2024-09-18 7:50 ` [v2 21/43] bus/fslmc: change qbman eq desc from d to desc vanshika.shukla
2024-09-18 7:50 ` [v2 22/43] bus/fslmc: introduce VFIO DMA mapping API for fslmc vanshika.shukla
2024-09-18 7:50 ` [v2 23/43] net/dpaa2: change miss flow ID macro name vanshika.shukla
2024-09-18 7:50 ` [v2 24/43] net/dpaa2: flow API refactor vanshika.shukla
2024-09-18 7:50 ` [v2 25/43] net/dpaa2: dump Rx parser result vanshika.shukla
2024-09-18 7:50 ` vanshika.shukla [this message]
2024-09-18 7:50 ` [v2 27/43] net/dpaa2: frame attribute flags parser vanshika.shukla
2024-09-18 7:50 ` [v2 28/43] net/dpaa2: add VXLAN distribution support vanshika.shukla
2024-09-18 7:50 ` [v2 29/43] net/dpaa2: protocol inside tunnel distribution vanshika.shukla
2024-09-18 7:50 ` [v2 30/43] net/dpaa2: eCPRI support by parser result vanshika.shukla
2024-09-18 7:50 ` [v2 31/43] net/dpaa2: add GTP flow support vanshika.shukla
2024-09-18 7:50 ` [v2 32/43] net/dpaa2: check if Soft parser is loaded vanshika.shukla
2024-09-18 7:50 ` [v2 33/43] net/dpaa2: soft parser flow verification vanshika.shukla
2024-09-18 7:50 ` [v2 34/43] net/dpaa2: add flow support for IPsec AH and ESP vanshika.shukla
2024-09-18 7:50 ` [v2 35/43] net/dpaa2: fix memory corruption in TM vanshika.shukla
2024-09-18 7:50 ` [v2 36/43] net/dpaa2: support software taildrop vanshika.shukla
2024-09-18 7:50 ` [v2 37/43] net/dpaa2: check IOVA before sending MC command vanshika.shukla
2024-09-18 7:50 ` [v2 38/43] net/dpaa2: improve DPDMUX error behavior settings vanshika.shukla
2024-09-18 7:50 ` [v2 39/43] net/dpaa2: store drop priority in mbuf vanshika.shukla
2024-09-18 7:50 ` [v2 40/43] net/dpaa2: add API to get endpoint name vanshika.shukla
2024-09-18 7:50 ` [v2 41/43] net/dpaa2: support VLAN traffic splitting vanshika.shukla
2024-09-18 7:50 ` [v2 42/43] net/dpaa2: add support for C-VLAN and MAC vanshika.shukla
2024-09-18 7:50 ` [v2 43/43] net/dpaa2: dpdmux single flow/multiple rules support vanshika.shukla
2024-10-10 2:54 ` [v2 00/43] DPAA2 specific patches Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240918075056.1838654-27-vanshika.shukla@nxp.com \
--to=vanshika.shukla@nxp.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=jun.yang@nxp.com \
--cc=sachin.saxena@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).