git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/sfc: make flow list engine-agnostic
[dpdk.git]
/
drivers
/
net
/
sfc
/
sfc_flow.c
diff --git
a/drivers/net/sfc/sfc_flow.c
b/drivers/net/sfc/sfc_flow.c
index
8d636f6
..
0826032
100644
(file)
--- a/
drivers/net/sfc/sfc_flow.c
+++ b/
drivers/net/sfc/sfc_flow.c
@@
-1262,7
+1262,7
@@
sfc_flow_parse_rss(struct sfc_adapter *sa,
unsigned int rxq_hw_index_max;
efx_rx_hash_type_t efx_hash_types;
const uint8_t *rss_key;
unsigned int rxq_hw_index_max;
efx_rx_hash_type_t efx_hash_types;
const uint8_t *rss_key;
- struct sfc_flow_rss *sfc_rss_conf = &flow->rss_conf;
+ struct sfc_flow_rss *sfc_rss_conf = &flow->
spec.
rss_conf;
unsigned int i;
if (action_rss->queue_num == 0)
unsigned int i;
if (action_rss->queue_num == 0)
@@
-1334,7
+1334,7
@@
sfc_flow_parse_rss(struct sfc_adapter *sa,
rss_key = rss->key;
}
rss_key = rss->key;
}
- flow->rss = B_TRUE;
+ flow->
spec.
rss = B_TRUE;
sfc_rss_conf->rxq_hw_index_min = rxq_hw_index_min;
sfc_rss_conf->rxq_hw_index_max = rxq_hw_index_max;
sfc_rss_conf->rxq_hw_index_min = rxq_hw_index_min;
sfc_rss_conf->rxq_hw_index_max = rxq_hw_index_max;
@@
-1402,12
+1402,12
@@
sfc_flow_filter_insert(struct sfc_adapter *sa,
{
struct sfc_adapter_shared * const sas = sfc_sa2shared(sa);
struct sfc_rss *rss = &sas->rss;
{
struct sfc_adapter_shared * const sas = sfc_sa2shared(sa);
struct sfc_rss *rss = &sas->rss;
- struct sfc_flow_rss *flow_rss = &flow->rss_conf;
+ struct sfc_flow_rss *flow_rss = &flow->
spec.
rss_conf;
uint32_t efs_rss_context = EFX_RSS_CONTEXT_DEFAULT;
unsigned int i;
int rc = 0;
uint32_t efs_rss_context = EFX_RSS_CONTEXT_DEFAULT;
unsigned int i;
int rc = 0;
- if (flow->rss) {
+ if (flow->
spec.
rss) {
unsigned int rss_spread = MIN(flow_rss->rxq_hw_index_max -
flow_rss->rxq_hw_index_min + 1,
EFX_MAXRSS);
unsigned int rss_spread = MIN(flow_rss->rxq_hw_index_max -
flow_rss->rxq_hw_index_min + 1,
EFX_MAXRSS);
@@
-1450,7
+1450,7
@@
sfc_flow_filter_insert(struct sfc_adapter *sa,
if (rc != 0)
goto fail_filter_insert;
if (rc != 0)
goto fail_filter_insert;
- if (flow->rss) {
+ if (flow->
spec.
rss) {
/*
* Scale table is set after filter insertion because
* the table entries are relative to the base RxQ ID
/*
* Scale table is set after filter insertion because
* the table entries are relative to the base RxQ ID
@@
-1491,7
+1491,7
@@
sfc_flow_filter_remove(struct sfc_adapter *sa,
if (rc != 0)
return rc;
if (rc != 0)
return rc;
- if (flow->rss) {
+ if (flow->
spec.
rss) {
/*
* All specifications for a given flow rule have the same RSS
* context, so that RSS context value is taken from the first
/*
* All specifications for a given flow rule have the same RSS
* context, so that RSS context value is taken from the first
@@
-2317,7
+2317,7
@@
sfc_flow_create(struct rte_eth_dev *dev,
sfc_adapter_lock(sa);
sfc_adapter_lock(sa);
- TAILQ_INSERT_TAIL(&sa->f
ilter.f
low_list, flow, entries);
+ TAILQ_INSERT_TAIL(&sa->flow_list, flow, entries);
if (sa->state == SFC_ADAPTER_STARTED) {
rc = sfc_flow_filter_insert(sa, flow);
if (sa->state == SFC_ADAPTER_STARTED) {
rc = sfc_flow_filter_insert(sa, flow);
@@
-2334,7
+2334,7
@@
sfc_flow_create(struct rte_eth_dev *dev,
return flow;
fail_filter_insert:
return flow;
fail_filter_insert:
- TAILQ_REMOVE(&sa->f
ilter.f
low_list, flow, entries);
+ TAILQ_REMOVE(&sa->flow_list, flow, entries);
fail_bad_value:
rte_free(flow);
fail_bad_value:
rte_free(flow);
@@
-2361,7
+2361,7
@@
sfc_flow_remove(struct sfc_adapter *sa,
"Failed to destroy flow rule");
}
"Failed to destroy flow rule");
}
- TAILQ_REMOVE(&sa->f
ilter.f
low_list, flow, entries);
+ TAILQ_REMOVE(&sa->flow_list, flow, entries);
rte_free(flow);
return rc;
rte_free(flow);
return rc;
@@
-2378,7
+2378,7
@@
sfc_flow_destroy(struct rte_eth_dev *dev,
sfc_adapter_lock(sa);
sfc_adapter_lock(sa);
- TAILQ_FOREACH(flow_ptr, &sa->f
ilter.f
low_list, entries) {
+ TAILQ_FOREACH(flow_ptr, &sa->flow_list, entries) {
if (flow_ptr == flow)
rc = 0;
}
if (flow_ptr == flow)
rc = 0;
}
@@
-2408,7
+2408,7
@@
sfc_flow_flush(struct rte_eth_dev *dev,
sfc_adapter_lock(sa);
sfc_adapter_lock(sa);
- while ((flow = TAILQ_FIRST(&sa->f
ilter.f
low_list)) != NULL) {
+ while ((flow = TAILQ_FIRST(&sa->flow_list)) != NULL) {
rc = sfc_flow_remove(sa, flow, error);
if (rc != 0)
ret = rc;
rc = sfc_flow_remove(sa, flow, error);
if (rc != 0)
ret = rc;
@@
-2454,7
+2454,7
@@
sfc_flow_init(struct sfc_adapter *sa)
{
SFC_ASSERT(sfc_adapter_is_locked(sa));
{
SFC_ASSERT(sfc_adapter_is_locked(sa));
- TAILQ_INIT(&sa->f
ilter.f
low_list);
+ TAILQ_INIT(&sa->flow_list);
}
void
}
void
@@
-2464,8
+2464,8
@@
sfc_flow_fini(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
SFC_ASSERT(sfc_adapter_is_locked(sa));
- while ((flow = TAILQ_FIRST(&sa->f
ilter.f
low_list)) != NULL) {
- TAILQ_REMOVE(&sa->f
ilter.f
low_list, flow, entries);
+ while ((flow = TAILQ_FIRST(&sa->flow_list)) != NULL) {
+ TAILQ_REMOVE(&sa->flow_list, flow, entries);
rte_free(flow);
}
}
rte_free(flow);
}
}
@@
-2477,7
+2477,7
@@
sfc_flow_stop(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
SFC_ASSERT(sfc_adapter_is_locked(sa));
- TAILQ_FOREACH(flow, &sa->f
ilter.f
low_list, entries)
+ TAILQ_FOREACH(flow, &sa->flow_list, entries)
sfc_flow_filter_remove(sa, flow);
}
sfc_flow_filter_remove(sa, flow);
}
@@
-2491,7
+2491,7
@@
sfc_flow_start(struct sfc_adapter *sa)
SFC_ASSERT(sfc_adapter_is_locked(sa));
SFC_ASSERT(sfc_adapter_is_locked(sa));
- TAILQ_FOREACH(flow, &sa->f
ilter.f
low_list, entries) {
+ TAILQ_FOREACH(flow, &sa->flow_list, entries) {
rc = sfc_flow_filter_insert(sa, flow);
if (rc != 0)
goto fail_bad_flow;
rc = sfc_flow_filter_insert(sa, flow);
if (rc != 0)
goto fail_bad_flow;