MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sfc_flow_parse_rss

Function sfc_flow_parse_rss

dpdk/drivers/net/sfc/sfc_flow.c:1446–1477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1444}
1445
1446static int
1447sfc_flow_parse_rss(struct sfc_adapter *sa,
1448 const struct rte_flow_action_rss *action_rss,
1449 struct rte_flow *flow)
1450{
1451 struct sfc_flow_spec_filter *spec_filter = &flow->spec.filter;
1452 struct sfc_flow_rss_conf conf;
1453 uint16_t sw_qid_min;
1454 struct sfc_rxq *rxq;
1455 int rc;
1456
1457 spec_filter->template.efs_flags |= EFX_FILTER_FLAG_RX_RSS;
1458
1459 rc = sfc_flow_rss_parse_conf(sa, action_rss, &conf, &sw_qid_min);
1460 if (rc != 0)
1461 return -rc;
1462
1463 rxq = sfc_rxq_ctrl_by_ethdev_qid(sa, sw_qid_min);
1464 spec_filter->template.efs_dmaq_id = rxq->hw_index;
1465
1466 spec_filter->rss_ctx = sfc_flow_rss_ctx_reuse(sa, &conf, sw_qid_min,
1467 action_rss->queue);
1468 if (spec_filter->rss_ctx != NULL)
1469 return 0;
1470
1471 rc = sfc_flow_rss_ctx_add(sa, &conf, sw_qid_min, action_rss->queue,
1472 &spec_filter->rss_ctx);
1473 if (rc != 0)
1474 return -rc;
1475
1476 return 0;
1477}
1478
1479static int
1480sfc_flow_spec_flush(struct sfc_adapter *sa, struct sfc_flow_spec *spec,

Callers 1

sfc_flow_parse_actionsFunction · 0.85

Calls 4

sfc_flow_rss_parse_confFunction · 0.85
sfc_flow_rss_ctx_reuseFunction · 0.85
sfc_flow_rss_ctx_addFunction · 0.85

Tested by

no test coverage detected