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 RSS details VNIC-specific
[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
e1d981b
..
f285ba5
100644
(file)
--- a/
drivers/net/sfc/sfc_flow.c
+++ b/
drivers/net/sfc/sfc_flow.c
@@
-951,7
+951,7
@@
sfc_flow_parse_geneve(const struct rte_flow_item *item,
return 0;
if (mask->protocol == supp_mask.protocol) {
return 0;
if (mask->protocol == supp_mask.protocol) {
- if (spec->protocol != rte_cpu_to_be_16(ETHER_TYPE_TEB)) {
+ if (spec->protocol != rte_cpu_to_be_16(
RTE_
ETHER_TYPE_TEB)) {
rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ITEM, item,
"GENEVE encap. protocol must be Ethernet "
rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ITEM, item,
"GENEVE encap. protocol must be Ethernet "
@@
-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
@@
-2315,10
+2315,10
@@
sfc_flow_create(struct rte_eth_dev *dev,
if (rc != 0)
goto fail_bad_value;
if (rc != 0)
goto fail_bad_value;
- TAILQ_INSERT_TAIL(&sa->filter.flow_list, flow, entries);
-
sfc_adapter_lock(sa);
sfc_adapter_lock(sa);
+ TAILQ_INSERT_TAIL(&sa->filter.flow_list, flow, entries);
+
if (sa->state == SFC_ADAPTER_STARTED) {
rc = sfc_flow_filter_insert(sa, flow);
if (rc != 0) {
if (sa->state == SFC_ADAPTER_STARTED) {
rc = sfc_flow_filter_insert(sa, flow);
if (rc != 0) {