Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
New upstream version 17.11.4
[deb_dpdk.git]
/
drivers
/
net
/
qede
/
qede_fdir.c
diff --git
a/drivers/net/qede/qede_fdir.c
b/drivers/net/qede/qede_fdir.c
index
7bd5c5d
..
0515256
100644
(file)
--- a/
drivers/net/qede/qede_fdir.c
+++ b/
drivers/net/qede/qede_fdir.c
@@
-53,7
+53,7
@@
int qede_check_fdir_support(struct rte_eth_dev *eth_dev)
DP_INFO(edev, "flowdir is disabled\n");
break;
case RTE_FDIR_MODE_PERFECT:
DP_INFO(edev, "flowdir is disabled\n");
break;
case RTE_FDIR_MODE_PERFECT:
- if (
edev->num_hwfns > 1
) {
+ if (
ECORE_IS_CMT(edev)
) {
DP_ERR(edev, "flowdir is not supported in 100G mode\n");
qdev->fdir_info.arfs.arfs_enable = false;
return -ENOTSUP;
DP_ERR(edev, "flowdir is not supported in 100G mode\n");
qdev->fdir_info.arfs.arfs_enable = false;
return -ENOTSUP;
@@
-141,8
+141,8
@@
qede_config_cmn_fdir_filter(struct rte_eth_dev *eth_dev,
if (add) {
SLIST_FOREACH(tmp, &qdev->fdir_info.fdir_list_head, list) {
if (memcmp(tmp->mz->addr, pkt, pkt_len) == 0) {
if (add) {
SLIST_FOREACH(tmp, &qdev->fdir_info.fdir_list_head, list) {
if (memcmp(tmp->mz->addr, pkt, pkt_len) == 0) {
- DP_
ERR
(edev, "flowdir filter exist\n");
- rc =
-EEXIST
;
+ DP_
INFO
(edev, "flowdir filter exist\n");
+ rc =
0
;
goto err2;
}
}
goto err2;
}
}
@@
-171,8
+171,8
@@
qede_config_cmn_fdir_filter(struct rte_eth_dev *eth_dev,
&qdev->fdir_info.arfs);
}
/* configure filter with ECORE_SPQ_MODE_EBLOCK */
&qdev->fdir_info.arfs);
}
/* configure filter with ECORE_SPQ_MODE_EBLOCK */
- rc = ecore_configure_rfs_ntuple_filter(p_hwfn,
p_hwfn->p_arfs_ptt,
NULL,
- (dma_addr_t)mz->
phys_addr
,
+ rc = ecore_configure_rfs_ntuple_filter(p_hwfn, NULL,
+ (dma_addr_t)mz->
iova
,
pkt_len,
fdir_filter->action.rx_queue,
0, add);
pkt_len,
fdir_filter->action.rx_queue,
0, add);
@@
-386,7
+386,7
@@
qede_fdir_filter_conf(struct rte_eth_dev *eth_dev,
switch (filter_op) {
case RTE_ETH_FILTER_NOP:
/* Typically used to query flowdir support */
switch (filter_op) {
case RTE_ETH_FILTER_NOP:
/* Typically used to query flowdir support */
- if (
edev->num_hwfns > 1
) {
+ if (
ECORE_IS_CMT(edev)
) {
DP_ERR(edev, "flowdir is not supported in 100G mode\n");
return -ENOTSUP;
}
DP_ERR(edev, "flowdir is not supported in 100G mode\n");
return -ENOTSUP;
}
@@
-425,7
+425,7
@@
int qede_ntuple_filter_conf(struct rte_eth_dev *eth_dev,
switch (filter_op) {
case RTE_ETH_FILTER_NOP:
/* Typically used to query fdir support */
switch (filter_op) {
case RTE_ETH_FILTER_NOP:
/* Typically used to query fdir support */
- if (
edev->num_hwfns > 1
) {
+ if (
ECORE_IS_CMT(edev)
) {
DP_ERR(edev, "flowdir is not supported in 100G mode\n");
return -ENOTSUP;
}
DP_ERR(edev, "flowdir is not supported in 100G mode\n");
return -ENOTSUP;
}
@@
-465,5
+465,8
@@
int qede_ntuple_filter_conf(struct rte_eth_dev *eth_dev,
udpv4_flow->src_port = ntuple->src_port;
udpv4_flow->dst_port = ntuple->dst_port;
}
udpv4_flow->src_port = ntuple->src_port;
udpv4_flow->dst_port = ntuple->dst_port;
}
+
+ fdir_entry.action.rx_queue = ntuple->queue;
+
return qede_config_cmn_fdir_filter(eth_dev, &fdir_entry, add);
}
return qede_config_cmn_fdir_filter(eth_dev, &fdir_entry, add);
}