[dpdk-dev] [PATCH] net/nfp: add support for chaning MAC address
Alejandro Lucero
alejandro.lucero at netronome.com
Fri Apr 13 13:00:33 CEST 2018
This patch allows to use another MAC address than the one coming
with the NIC by default.
Signed-off-by: Alejandro Lucero <alejandro.lucero at netronome.com>
---
drivers/net/nfp/nfp_net.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index bedd4b6..7db438c 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -109,6 +109,8 @@ static int nfp_net_rss_reta_write(struct rte_eth_dev *dev,
uint16_t reta_size);
static int nfp_net_rss_hash_write(struct rte_eth_dev *dev,
struct rte_eth_rss_conf *rss_conf);
+static void nfp_set_mac_addr(struct rte_eth_dev *dev,
+ struct ether_addr *mac_addr);
/* The offset of the queue controller queues in the PCIe Target */
#define NFP_PCIE_QUEUE(_q) (0x80000 + (NFP_QCP_QUEUE_ADDR_SZ * ((_q) & 0xff)))
@@ -684,6 +686,15 @@ enum nfp_qcp_ptr {
hw->ctrl_bar + NFP_NET_CFG_MACADDR + 6);
}
+void
+nfp_set_mac_addr(struct rte_eth_dev *dev, struct ether_addr *mac_addr)
+{
+ struct nfp_net_hw *hw;
+
+ hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ nfp_net_write_mac(hw, (uint8_t *)mac_addr);
+}
+
static int
nfp_configure_rx_interrupt(struct rte_eth_dev *dev,
struct rte_intr_handle *intr_handle)
@@ -2750,6 +2761,7 @@ uint32_t nfp_net_txq_full(struct nfp_net_txq *txq)
.dev_infos_get = nfp_net_infos_get,
.dev_supported_ptypes_get = nfp_net_supported_ptypes_get,
.mtu_set = nfp_net_dev_mtu_set,
+ .mac_addr_set = nfp_set_mac_addr,
.vlan_offload_set = nfp_net_vlan_offload_set,
.reta_update = nfp_net_reta_update,
.reta_query = nfp_net_reta_query,
--
1.9.1
More information about the dev
mailing list