diff --git a/0287-ethdev-fix-one-address-occupies-two-entries-in-MAC-a.patch b/0287-ethdev-fix-one-address-occupies-two-entries-in-MAC-a.patch index f94dc239f9cb2712bc97cbdb8fda00cb7e1b2c22..2e8275d162ec88215a9218438af5e927fb87a1e6 100644 --- a/0287-ethdev-fix-one-address-occupies-two-entries-in-MAC-a.patch +++ b/0287-ethdev-fix-one-address-occupies-two-entries-in-MAC-a.patch @@ -1,9 +1,9 @@ -From dfa6c33450b990739a282f5acad8e43a5b27437b Mon Sep 17 00:00:00 2001 +From 9b1a4cdf89156605b4b5a5b1a5f5507423964dc9 Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Fri, 19 May 2023 17:31:55 +0800 -Subject: ethdev: fix one address occupies two entries in MAC addrs +Subject: [PATCH] ethdev: fix MAC address occupies two entries -[ upstream commit 964ccaf2fe229ef31f57574176f966af7fcefae4 ] +[ upstream commit 8f02f472a29432650d999969359d6a49ea6aadca ] The dev->data->mac_addrs[0] will be changed to a new MAC address when applications modify the default MAC address by .mac_addr_set(). However, @@ -35,9 +35,9 @@ Acked-by: Thomas Monjalon Reviewed-by: Ferruh Yigit --- lib/ethdev/ethdev_driver.h | 6 +++++- - lib/ethdev/rte_ethdev.c | 14 +++++++++++++- + lib/ethdev/rte_ethdev.c | 10 ++++++++++ lib/ethdev/rte_ethdev.h | 4 ++++ - 3 files changed, 22 insertions(+), 2 deletions(-) + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h index d3de203d7a..6f539d45c6 100644 @@ -57,10 +57,10 @@ index d3de203d7a..6f539d45c6 100644 /** Bitmap associating MAC addresses to pools */ uint64_t mac_pool_sel[RTE_ETH_NUM_RECEIVE_MAC_ADDR]; diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c -index 054715e05a..2f0aa282df 100644 +index 4e5499ad2d..bd5dac284d 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c -@@ -4471,6 +4471,7 @@ int +@@ -4470,6 +4470,7 @@ int rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) { struct rte_eth_dev *dev; @@ -68,14 +68,10 @@ index 054715e05a..2f0aa282df 100644 int ret; RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); -@@ -4486,8 +4487,19 @@ rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) - if (!rte_is_valid_assigned_ether_addr(addr)) - return -EINVAL; +@@ -4487,6 +4488,15 @@ rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) + + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_set, -ENOTSUP); -- RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_set, -ENOTSUP); -+ if (*dev->dev_ops->mac_addr_set == NULL) -+ return -ENOTSUP; -+ + /* Keep address unique in dev->data->mac_addrs[]. */ + index = eth_dev_get_mac_addr_index(port_id, addr); + if (index > 0) { @@ -84,8 +80,7 @@ index 054715e05a..2f0aa282df 100644 + port_id); + return -EEXIST; + } - -+ ret = (*dev->dev_ops->mac_addr_set)(dev, addr); ++ ret = (*dev->dev_ops->mac_addr_set)(dev, addr); if (ret < 0) return ret; diff --git a/dpdk.spec b/dpdk.spec index 06f7c13dba0377cedb2da7ef2c90d2ac818ec11f..498e694a0ff64c59fdaf9ede6662e44a337d285f 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -1,6 +1,6 @@ Name: dpdk Version: 21.11 -Release: 55 +Release: 56 Packager: packaging@6wind.com URL: http://dpdk.org %global source_version 21.11 @@ -522,6 +522,9 @@ strip -g $RPM_BUILD_ROOT/lib/modules/%{kern_devel_ver}/extra/dpdk/igb_uio.ko /usr/sbin/depmod %changelog +* Mon Aug 21 2023 huangdengdui - 21.11-56 + replace patch-287 to solve the duplicate setting for MAC address. + * Mon Jul 17 2023 chenjiji - 21.11-55 Sync some patchs from upstreaming about add FDIR VLAN match mode runtime config and fix doc format for hns3 pmd. Patchs