X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fnet%2Fqede%2Fqede_fdir.c;h=da6364ee535d5e5ccf919b311f4483d60dc68be9;hb=d76de38676561c546cc3494b4deaf28c4a1011e4;hp=18fb8d68c5d36135eb63604375b69eb42d6bc24e;hpb=e82b275b3217d67cd570e0564af480f34fd860cc;p=dpdk.git diff --git a/drivers/net/qede/qede_fdir.c b/drivers/net/qede/qede_fdir.c index 18fb8d68c5..da6364ee53 100644 --- 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: - 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; @@ -74,9 +74,7 @@ int qede_check_fdir_support(struct rte_eth_dev *eth_dev) void qede_fdir_dealloc_resc(struct rte_eth_dev *eth_dev) { struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev); - struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); struct qede_fdir_entry *tmp = NULL; - struct qede_fdir_entry *fdir; SLIST_FOREACH(tmp, &qdev->fdir_info.fdir_list_head, list) { if (tmp) { @@ -98,12 +96,11 @@ qede_config_cmn_fdir_filter(struct rte_eth_dev *eth_dev, struct ecore_dev *edev = QEDE_INIT_EDEV(qdev); char mz_name[RTE_MEMZONE_NAMESIZE] = {0}; struct qede_fdir_entry *tmp = NULL; - struct qede_fdir_entry *fdir; + struct qede_fdir_entry *fdir = NULL; const struct rte_memzone *mz; struct ecore_hwfn *p_hwfn; enum _ecore_status_t rc; uint16_t pkt_len; - uint16_t len; void *pkt; if (add) { @@ -174,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 */ - 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); @@ -251,7 +248,7 @@ qede_fdir_filter_add(struct rte_eth_dev *eth_dev, } /* Fills the L3/L4 headers and returns the actual length of flowdir packet */ -static uint16_t +uint16_t qede_fdir_construct_pkt(struct rte_eth_dev *eth_dev, struct rte_eth_fdir_filter *fdir, void *buff, @@ -268,8 +265,6 @@ qede_fdir_construct_pkt(struct rte_eth_dev *eth_dev, struct ipv6_hdr *ip6; struct udp_hdr *udp; struct tcp_hdr *tcp; - struct sctp_hdr *sctp; - uint8_t size, dst = 0; uint16_t len; static const uint8_t next_proto[] = { [RTE_ETH_FLOW_NONFRAG_IPV4_TCP] = IPPROTO_TCP, @@ -391,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 */ - if (edev->num_hwfns > 1) { + if (ECORE_IS_CMT(edev)) { DP_ERR(edev, "flowdir is not supported in 100G mode\n"); return -ENOTSUP; } @@ -425,13 +420,12 @@ int qede_ntuple_filter_conf(struct rte_eth_dev *eth_dev, struct rte_eth_fdir_filter fdir_entry; struct rte_eth_tcpv4_flow *tcpv4_flow; struct rte_eth_udpv4_flow *udpv4_flow; - struct ecore_hwfn *p_hwfn; - bool add; + bool add = false; 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; } @@ -440,7 +434,6 @@ int qede_ntuple_filter_conf(struct rte_eth_dev *eth_dev, add = true; break; case RTE_ETH_FILTER_DELETE: - add = false; break; case RTE_ETH_FILTER_INFO: case RTE_ETH_FILTER_GET: