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/hns3: support flow director
[dpdk.git]
/
drivers
/
net
/
enic
/
enic_ethdev.c
diff --git
a/drivers/net/enic/enic_ethdev.c
b/drivers/net/enic/enic_ethdev.c
index
90fdeda
..
35d5820
100644
(file)
--- a/
drivers/net/enic/enic_ethdev.c
+++ b/
drivers/net/enic/enic_ethdev.c
@@
-474,12
+474,12
@@
static int enicpmd_dev_stats_get(struct rte_eth_dev *eth_dev,
return enic_dev_stats_get(enic, stats);
}
return enic_dev_stats_get(enic, stats);
}
-static
void
enicpmd_dev_stats_reset(struct rte_eth_dev *eth_dev)
+static
int
enicpmd_dev_stats_reset(struct rte_eth_dev *eth_dev)
{
struct enic *enic = pmd_priv(eth_dev);
ENICPMD_FUNC_TRACE();
{
struct enic *enic = pmd_priv(eth_dev);
ENICPMD_FUNC_TRACE();
- enic_dev_stats_clear(enic);
+
return
enic_dev_stats_clear(enic);
}
static uint32_t speed_capa_from_pci_id(struct rte_eth_dev *eth_dev)
}
static uint32_t speed_capa_from_pci_id(struct rte_eth_dev *eth_dev)
@@
-603,53
+603,73
@@
static const uint32_t *enicpmd_dev_supported_ptypes_get(struct rte_eth_dev *dev)
return NULL;
}
return NULL;
}
-static
void
enicpmd_dev_promiscuous_enable(struct rte_eth_dev *eth_dev)
+static
int
enicpmd_dev_promiscuous_enable(struct rte_eth_dev *eth_dev)
{
struct enic *enic = pmd_priv(eth_dev);
{
struct enic *enic = pmd_priv(eth_dev);
+ int ret;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
- return;
+ return
-E_RTE_SECONDARY
;
ENICPMD_FUNC_TRACE();
enic->promisc = 1;
ENICPMD_FUNC_TRACE();
enic->promisc = 1;
- enic_add_packet_filter(enic);
+ ret = enic_add_packet_filter(enic);
+ if (ret != 0)
+ enic->promisc = 0;
+
+ return ret;
}
}
-static
void
enicpmd_dev_promiscuous_disable(struct rte_eth_dev *eth_dev)
+static
int
enicpmd_dev_promiscuous_disable(struct rte_eth_dev *eth_dev)
{
struct enic *enic = pmd_priv(eth_dev);
{
struct enic *enic = pmd_priv(eth_dev);
+ int ret;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
- return;
+ return
-E_RTE_SECONDARY
;
ENICPMD_FUNC_TRACE();
enic->promisc = 0;
ENICPMD_FUNC_TRACE();
enic->promisc = 0;
- enic_add_packet_filter(enic);
+ ret = enic_add_packet_filter(enic);
+ if (ret != 0)
+ enic->promisc = 1;
+
+ return ret;
}
}
-static
void
enicpmd_dev_allmulticast_enable(struct rte_eth_dev *eth_dev)
+static
int
enicpmd_dev_allmulticast_enable(struct rte_eth_dev *eth_dev)
{
struct enic *enic = pmd_priv(eth_dev);
{
struct enic *enic = pmd_priv(eth_dev);
+ int ret;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
- return;
+ return
-E_RTE_SECONDARY
;
ENICPMD_FUNC_TRACE();
enic->allmulti = 1;
ENICPMD_FUNC_TRACE();
enic->allmulti = 1;
- enic_add_packet_filter(enic);
+ ret = enic_add_packet_filter(enic);
+ if (ret != 0)
+ enic->allmulti = 0;
+
+ return ret;
}
}
-static
void
enicpmd_dev_allmulticast_disable(struct rte_eth_dev *eth_dev)
+static
int
enicpmd_dev_allmulticast_disable(struct rte_eth_dev *eth_dev)
{
struct enic *enic = pmd_priv(eth_dev);
{
struct enic *enic = pmd_priv(eth_dev);
+ int ret;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
- return;
+ return
-E_RTE_SECONDARY
;
ENICPMD_FUNC_TRACE();
enic->allmulti = 0;
ENICPMD_FUNC_TRACE();
enic->allmulti = 0;
- enic_add_packet_filter(enic);
+ ret = enic_add_packet_filter(enic);
+ if (ret != 0)
+ enic->allmulti = 1;
+
+ return ret;
}
static int enicpmd_add_mac_addr(struct rte_eth_dev *eth_dev,
}
static int enicpmd_add_mac_addr(struct rte_eth_dev *eth_dev,