Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/103392 _apply patch failure_ Submitter: Min Hu (Connor) Date: Tuesday, November 02 2021 03:17:29 Applied on: CommitID:b2be63b55ab086c52c082d5c0b2b01fffbc48326 Apply patch set 103392-103394 failed: Checking patch drivers/net/hns3/hns3_cmd.c... Checking patch drivers/net/hns3/hns3_common.c... .git/rebase-apply/patch:461: new blank line at EOF. + Checking patch drivers/net/hns3/hns3_common.h... Checking patch drivers/net/hns3/hns3_ethdev.c... error: while searching for: return ret; } static bool hns3_find_duplicate_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mc_addr) { char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; struct rte_ether_addr *addr; int i; for (i = 0; i < hw->mc_addrs_num; i++) { addr = &hw->mc_addrs[i]; /* Check if there are duplicate addresses in mc_addrs[] */ if (rte_is_same_ether_addr(addr, mc_addr)) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, addr); hns3_err(hw, "failed to add mc mac addr, same addrs" "(%s) is added by the set_mc_mac_addr_list " "API", mac_str); return true; } } return false; } int hns3_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr, __rte_unused uint32_t idx, __rte_unused uint32_t pool) { struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; int ret; rte_spinlock_lock(&hw->lock); /* * In hns3 network engine adding UC and MC mac address with different * commands with firmware. We need to determine whether the input * address is a UC or a MC address to call different commands. * By the way, it is recommended calling the API function named * rte_eth_dev_set_mc_addr_list to set the MC mac address, because * using the rte_eth_dev_mac_addr_add API function to set MC mac address * may affect the specifications of UC mac addresses. */ if (rte_is_multicast_ether_addr(mac_addr)) { if (hns3_find_duplicate_mc_addr(hw, mac_addr)) { rte_spinlock_unlock(&hw->lock); return -EINVAL; } ret = hw->ops.add_mc_mac_addr(hw, mac_addr); } else { ret = hw->ops.add_uc_mac_addr(hw, mac_addr); } rte_spinlock_unlock(&hw->lock); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, mac_addr); hns3_err(hw, "failed to add mac addr(%s), ret = %d", mac_str, ret); } return ret; } static int hns3_remove_uc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) { error: patch failed: drivers/net/hns3/hns3_ethdev.c:1609 error: while searching for: return ret; } void hns3_remove_mac_addr(struct rte_eth_dev *dev, uint32_t idx) { struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); /* index will be checked by upper level rte interface */ struct rte_ether_addr *mac_addr = &dev->data->mac_addrs[idx]; char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; int ret; rte_spinlock_lock(&hw->lock); if (rte_is_multicast_ether_addr(mac_addr)) ret = hw->ops.del_mc_mac_addr(hw, mac_addr); else ret = hw->ops.del_uc_mac_addr(hw, mac_addr); rte_spinlock_unlock(&hw->lock); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, mac_addr); hns3_err(hw, "failed to remove mac addr(%s), ret = %d", mac_str, ret); } } static int hns3_set_default_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr) error: patch failed: drivers/net/hns3/hns3_ethdev.c:1699 error: while searching for: return ret; } int hns3_configure_all_mac_addr(struct hns3_adapter *hns, bool del) { char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; struct hns3_hw *hw = &hns->hw; struct hns3_hw_ops *ops = &hw->ops; struct rte_ether_addr *addr; uint16_t mac_addrs_capa; int ret = 0; int i; mac_addrs_capa = hns->is_vf ? HNS3_VF_UC_MACADDR_NUM : HNS3_UC_MACADDR_NUM; for (i = 0; i < mac_addrs_capa; i++) { addr = &hw->data->mac_addrs[i]; if (rte_is_zero_ether_addr(addr)) continue; if (rte_is_multicast_ether_addr(addr)) ret = del ? ops->del_mc_mac_addr(hw, addr) : ops->add_mc_mac_addr(hw, addr); else ret = del ? ops->del_uc_mac_addr(hw, addr) : ops->add_uc_mac_addr(hw, addr); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, addr); hns3_err(hw, "failed to %s mac addr(%s) index:%d ret = %d.", del ? "remove" : "restore", mac_str, i, ret); } } return ret; } static void hns3_update_desc_vfid(struct hns3_cmd_desc *desc, uint8_t vfid, bool clr) { error: patch failed: drivers/net/hns3/hns3_ethdev.c:1787 error: while searching for: return ret; } static int hns3_set_mc_addr_chk_param(struct hns3_hw *hw, struct rte_ether_addr *mc_addr_set, uint32_t nb_mc_addr) { struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw); char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; struct rte_ether_addr *addr; uint16_t mac_addrs_capa; uint32_t i; uint32_t j; if (nb_mc_addr > HNS3_MC_MACADDR_NUM) { hns3_err(hw, "failed to set mc mac addr, nb_mc_addr(%u) " "invalid. valid range: 0~%d", nb_mc_addr, HNS3_MC_MACADDR_NUM); return -EINVAL; } /* Check if input mac addresses are valid */ for (i = 0; i < nb_mc_addr; i++) { addr = &mc_addr_set[i]; if (!rte_is_multicast_ether_addr(addr)) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, addr); hns3_err(hw, "failed to set mc mac addr, addr(%s) invalid.", mac_str); return -EINVAL; } /* Check if there are duplicate addresses */ for (j = i + 1; j < nb_mc_addr; j++) { if (rte_is_same_ether_addr(addr, &mc_addr_set[j])) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, addr); hns3_err(hw, "failed to set mc mac addr, " "addrs invalid. two same addrs(%s).", mac_str); return -EINVAL; } } /* * Check if there are duplicate addresses between mac_addrs * and mc_addr_set */ mac_addrs_capa = hns->is_vf ? HNS3_VF_UC_MACADDR_NUM : HNS3_UC_MACADDR_NUM; for (j = 0; j < mac_addrs_capa; j++) { if (rte_is_same_ether_addr(addr, &hw->data->mac_addrs[j])) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, addr); hns3_err(hw, "failed to set mc mac addr, " "addrs invalid. addrs(%s) has already " "configured in mac_addr add API", mac_str); return -EINVAL; } } } return 0; } int hns3_set_mc_mac_addr_list(struct rte_eth_dev *dev, struct rte_ether_addr *mc_addr_set, uint32_t nb_mc_addr) { struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct rte_ether_addr *addr; int cur_addr_num; int set_addr_num; int num; int ret; int i; /* Check if input parameters are valid */ ret = hns3_set_mc_addr_chk_param(hw, mc_addr_set, nb_mc_addr); if (ret) return ret; rte_spinlock_lock(&hw->lock); cur_addr_num = hw->mc_addrs_num; for (i = 0; i < cur_addr_num; i++) { num = cur_addr_num - i - 1; addr = &hw->mc_addrs[num]; ret = hw->ops.del_mc_mac_addr(hw, addr); if (ret) { rte_spinlock_unlock(&hw->lock); return ret; } hw->mc_addrs_num--; } set_addr_num = (int)nb_mc_addr; for (i = 0; i < set_addr_num; i++) { addr = &mc_addr_set[i]; ret = hw->ops.add_mc_mac_addr(hw, addr); if (ret) { rte_spinlock_unlock(&hw->lock); return ret; } rte_ether_addr_copy(addr, &hw->mc_addrs[hw->mc_addrs_num]); hw->mc_addrs_num++; } rte_spinlock_unlock(&hw->lock); return 0; } int hns3_configure_all_mc_mac_addr(struct hns3_adapter *hns, bool del) { char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; struct hns3_hw *hw = &hns->hw; struct rte_ether_addr *addr; int ret = 0; int i; for (i = 0; i < hw->mc_addrs_num; i++) { addr = &hw->mc_addrs[i]; if (!rte_is_multicast_ether_addr(addr)) continue; if (del) ret = hw->ops.del_mc_mac_addr(hw, addr); else ret = hw->ops.add_mc_mac_addr(hw, addr); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, addr); hns3_dbg(hw, "failed to %s mc mac addr: %s ret = %d", del ? "Remove" : "Restore", mac_str, ret); } } return ret; } static int hns3_check_mq_mode(struct rte_eth_dev *dev) { error: patch failed: drivers/net/hns3/hns3_ethdev.c:1947 Hunk #7 succeeded at 7209 (offset 372 lines). Checking patch drivers/net/hns3/hns3_ethdev.h... Hunk #2 succeeded at 855 (offset -13 lines). Hunk #3 succeeded at 989 (offset -13 lines). error: while searching for: return __atomic_fetch_and(addr, ~mask, __ATOMIC_RELAXED) & mask; } int hns3_buffer_alloc(struct hns3_hw *hw); int hns3_dev_flow_ops_get(struct rte_eth_dev *dev, const struct rte_flow_ops **ops); bool hns3_is_reset_pending(struct hns3_adapter *hns); bool hns3vf_is_reset_pending(struct hns3_adapter *hns); void hns3_update_linkstatus_and_event(struct hns3_hw *hw, bool query); void hns3_ether_format_addr(char *buf, uint16_t size, const struct rte_ether_addr *ether_addr); int hns3_dev_infos_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *info); void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status, uint32_t link_speed, uint8_t link_duplex); void hns3_parse_devargs(struct rte_eth_dev *dev); void hns3vf_update_push_lsc_cap(struct hns3_hw *hw, bool supported); int hns3_configure_all_mc_mac_addr(struct hns3_adapter *hns, bool del); int hns3_configure_all_mac_addr(struct hns3_adapter *hns, bool del); int hns3_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr, __rte_unused uint32_t idx, __rte_unused uint32_t pool); void hns3_remove_mac_addr(struct rte_eth_dev *dev, uint32_t idx); int hns3_set_mc_mac_addr_list(struct rte_eth_dev *dev, struct rte_ether_addr *mc_addr_set, uint32_t nb_mc_addr); int hns3_restore_ptp(struct hns3_adapter *hns); int hns3_mbuf_dyn_rx_timestamp_register(struct rte_eth_dev *dev, struct rte_eth_conf *conf); error: patch failed: drivers/net/hns3/hns3_ethdev.h:1047 Checking patch drivers/net/hns3/hns3_ethdev_vf.c... Checking patch drivers/net/hns3/hns3_intr.c... Checking patch drivers/net/hns3/hns3_mbx.c... Checking patch drivers/net/hns3/hns3_rxtx.c... Checking patch drivers/net/hns3/meson.build... Applied patch drivers/net/hns3/hns3_cmd.c cleanly. Applied patch drivers/net/hns3/hns3_common.c cleanly. Applied patch drivers/net/hns3/hns3_common.h cleanly. Applying patch drivers/net/hns3/hns3_ethdev.c with 4 rejects... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Rejected hunk #3. Rejected hunk #4. Rejected hunk #5. Rejected hunk #6. Hunk #7 applied cleanly. Applying patch drivers/net/hns3/hns3_ethdev.h with 1 reject... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Hunk #3 applied cleanly. Rejected hunk #4. Applied patch drivers/net/hns3/hns3_ethdev_vf.c cleanly. Applied patch drivers/net/hns3/hns3_intr.c cleanly. Applied patch drivers/net/hns3/hns3_mbx.c cleanly. Applied patch drivers/net/hns3/hns3_rxtx.c cleanly. Applied patch drivers/net/hns3/meson.build cleanly. diff a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c (rejected hunks) @@ -1609,68 +1601,6 @@ hns3_add_uc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) return ret; } -static bool -hns3_find_duplicate_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mc_addr) -{ - char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; - struct rte_ether_addr *addr; - int i; - - for (i = 0; i < hw->mc_addrs_num; i++) { - addr = &hw->mc_addrs[i]; - /* Check if there are duplicate addresses in mc_addrs[] */ - if (rte_is_same_ether_addr(addr, mc_addr)) { - hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - addr); - hns3_err(hw, "failed to add mc mac addr, same addrs" - "(%s) is added by the set_mc_mac_addr_list " - "API", mac_str); - return true; - } - } - - return false; -} - -int -hns3_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr, - __rte_unused uint32_t idx, __rte_unused uint32_t pool) -{ - struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); - char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; - int ret; - - rte_spinlock_lock(&hw->lock); - - /* - * In hns3 network engine adding UC and MC mac address with different - * commands with firmware. We need to determine whether the input - * address is a UC or a MC address to call different commands. - * By the way, it is recommended calling the API function named - * rte_eth_dev_set_mc_addr_list to set the MC mac address, because - * using the rte_eth_dev_mac_addr_add API function to set MC mac address - * may affect the specifications of UC mac addresses. - */ - if (rte_is_multicast_ether_addr(mac_addr)) { - if (hns3_find_duplicate_mc_addr(hw, mac_addr)) { - rte_spinlock_unlock(&hw->lock); - return -EINVAL; - } - ret = hw->ops.add_mc_mac_addr(hw, mac_addr); - } else { - ret = hw->ops.add_uc_mac_addr(hw, mac_addr); - } - rte_spinlock_unlock(&hw->lock); - if (ret) { - hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); - hns3_err(hw, "failed to add mac addr(%s), ret = %d", mac_str, - ret); - } - - return ret; -} - static int hns3_remove_uc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) { @@ -1699,30 +1629,6 @@ hns3_remove_uc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) return ret; } -void -hns3_remove_mac_addr(struct rte_eth_dev *dev, uint32_t idx) -{ - struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); - /* index will be checked by upper level rte interface */ - struct rte_ether_addr *mac_addr = &dev->data->mac_addrs[idx]; - char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; - int ret; - - rte_spinlock_lock(&hw->lock); - - if (rte_is_multicast_ether_addr(mac_addr)) - ret = hw->ops.del_mc_mac_addr(hw, mac_addr); - else - ret = hw->ops.del_uc_mac_addr(hw, mac_addr); - rte_spinlock_unlock(&hw->lock); - if (ret) { - hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); - hns3_err(hw, "failed to remove mac addr(%s), ret = %d", mac_str, - ret); - } -} - static int hns3_set_default_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr) @@ -1787,41 +1693,6 @@ hns3_set_default_mac_addr(struct rte_eth_dev *dev, return ret; } -int -hns3_configure_all_mac_addr(struct hns3_adapter *hns, bool del) -{ - char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; - struct hns3_hw *hw = &hns->hw; - struct hns3_hw_ops *ops = &hw->ops; - struct rte_ether_addr *addr; - uint16_t mac_addrs_capa; - int ret = 0; - int i; - - mac_addrs_capa = - hns->is_vf ? HNS3_VF_UC_MACADDR_NUM : HNS3_UC_MACADDR_NUM; - for (i = 0; i < mac_addrs_capa; i++) { - addr = &hw->data->mac_addrs[i]; - if (rte_is_zero_ether_addr(addr)) - continue; - if (rte_is_multicast_ether_addr(addr)) - ret = del ? ops->del_mc_mac_addr(hw, addr) : - ops->add_mc_mac_addr(hw, addr); - else - ret = del ? ops->del_uc_mac_addr(hw, addr) : - ops->add_uc_mac_addr(hw, addr); - - if (ret) { - hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - addr); - hns3_err(hw, "failed to %s mac addr(%s) index:%d ret = %d.", - del ? "remove" : "restore", mac_str, i, ret); - } - } - - return ret; -} - static void hns3_update_desc_vfid(struct hns3_cmd_desc *desc, uint8_t vfid, bool clr) { @@ -1947,150 +1818,6 @@ hns3_remove_mc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) return ret; } -static int -hns3_set_mc_addr_chk_param(struct hns3_hw *hw, - struct rte_ether_addr *mc_addr_set, - uint32_t nb_mc_addr) -{ - struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw); - char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; - struct rte_ether_addr *addr; - uint16_t mac_addrs_capa; - uint32_t i; - uint32_t j; - - if (nb_mc_addr > HNS3_MC_MACADDR_NUM) { - hns3_err(hw, "failed to set mc mac addr, nb_mc_addr(%u) " - "invalid. valid range: 0~%d", - nb_mc_addr, HNS3_MC_MACADDR_NUM); - return -EINVAL; - } - - /* Check if input mac addresses are valid */ - for (i = 0; i < nb_mc_addr; i++) { - addr = &mc_addr_set[i]; - if (!rte_is_multicast_ether_addr(addr)) { - hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - addr); - hns3_err(hw, - "failed to set mc mac addr, addr(%s) invalid.", - mac_str); - return -EINVAL; - } - - /* Check if there are duplicate addresses */ - for (j = i + 1; j < nb_mc_addr; j++) { - if (rte_is_same_ether_addr(addr, &mc_addr_set[j])) { - hns3_ether_format_addr(mac_str, - RTE_ETHER_ADDR_FMT_SIZE, - addr); - hns3_err(hw, "failed to set mc mac addr, " - "addrs invalid. two same addrs(%s).", - mac_str); - return -EINVAL; - } - } - - /* - * Check if there are duplicate addresses between mac_addrs - * and mc_addr_set - */ - mac_addrs_capa = hns->is_vf ? HNS3_VF_UC_MACADDR_NUM : - HNS3_UC_MACADDR_NUM; - for (j = 0; j < mac_addrs_capa; j++) { - if (rte_is_same_ether_addr(addr, - &hw->data->mac_addrs[j])) { - hns3_ether_format_addr(mac_str, - RTE_ETHER_ADDR_FMT_SIZE, - addr); - hns3_err(hw, "failed to set mc mac addr, " - "addrs invalid. addrs(%s) has already " - "configured in mac_addr add API", - mac_str); - return -EINVAL; - } - } - } - - return 0; -} - -int -hns3_set_mc_mac_addr_list(struct rte_eth_dev *dev, - struct rte_ether_addr *mc_addr_set, - uint32_t nb_mc_addr) -{ - struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); - struct rte_ether_addr *addr; - int cur_addr_num; - int set_addr_num; - int num; - int ret; - int i; - - /* Check if input parameters are valid */ - ret = hns3_set_mc_addr_chk_param(hw, mc_addr_set, nb_mc_addr); - if (ret) - return ret; - - rte_spinlock_lock(&hw->lock); - cur_addr_num = hw->mc_addrs_num; - for (i = 0; i < cur_addr_num; i++) { - num = cur_addr_num - i - 1; - addr = &hw->mc_addrs[num]; - ret = hw->ops.del_mc_mac_addr(hw, addr); - if (ret) { - rte_spinlock_unlock(&hw->lock); - return ret; - } - - hw->mc_addrs_num--; - } - - set_addr_num = (int)nb_mc_addr; - for (i = 0; i < set_addr_num; i++) { - addr = &mc_addr_set[i]; - ret = hw->ops.add_mc_mac_addr(hw, addr); - if (ret) { - rte_spinlock_unlock(&hw->lock); - return ret; - } - - rte_ether_addr_copy(addr, &hw->mc_addrs[hw->mc_addrs_num]); - hw->mc_addrs_num++; - } - rte_spinlock_unlock(&hw->lock); - - return 0; -} - -int -hns3_configure_all_mc_mac_addr(struct hns3_adapter *hns, bool del) -{ - char mac_str[RTE_ETHER_ADDR_FMT_SIZE]; - struct hns3_hw *hw = &hns->hw; - struct rte_ether_addr *addr; - int ret = 0; - int i; - - for (i = 0; i < hw->mc_addrs_num; i++) { - addr = &hw->mc_addrs[i]; - if (!rte_is_multicast_ether_addr(addr)) - continue; - if (del) - ret = hw->ops.del_mc_mac_addr(hw, addr); - else - ret = hw->ops.add_mc_mac_addr(hw, addr); - if (ret) { - hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - addr); - hns3_dbg(hw, "failed to %s mc mac addr: %s ret = %d", - del ? "Remove" : "Restore", mac_str, ret); - } - } - return ret; -} - static int hns3_check_mq_mode(struct rte_eth_dev *dev) { diff a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h (rejected hunks) @@ -1047,28 +1031,20 @@ hns3_test_and_clear_bit(unsigned int nr, volatile uint64_t *addr) return __atomic_fetch_and(addr, ~mask, __ATOMIC_RELAXED) & mask; } +uint32_t hns3_get_speed_capa(struct hns3_hw *hw); + int hns3_buffer_alloc(struct hns3_hw *hw); int hns3_dev_flow_ops_get(struct rte_eth_dev *dev, const struct rte_flow_ops **ops); bool hns3_is_reset_pending(struct hns3_adapter *hns); bool hns3vf_is_reset_pending(struct hns3_adapter *hns); void hns3_update_linkstatus_and_event(struct hns3_hw *hw, bool query); -void hns3_ether_format_addr(char *buf, uint16_t size, - const struct rte_ether_addr *ether_addr); int hns3_dev_infos_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *info); void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status, uint32_t link_speed, uint8_t link_duplex); -void hns3_parse_devargs(struct rte_eth_dev *dev); void hns3vf_update_push_lsc_cap(struct hns3_hw *hw, bool supported); -int hns3_configure_all_mc_mac_addr(struct hns3_adapter *hns, bool del); -int hns3_configure_all_mac_addr(struct hns3_adapter *hns, bool del); -int hns3_add_mac_addr(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr, - __rte_unused uint32_t idx, __rte_unused uint32_t pool); -void hns3_remove_mac_addr(struct rte_eth_dev *dev, uint32_t idx); -int hns3_set_mc_mac_addr_list(struct rte_eth_dev *dev, - struct rte_ether_addr *mc_addr_set, - uint32_t nb_mc_addr); + int hns3_restore_ptp(struct hns3_adapter *hns); int hns3_mbuf_dyn_rx_timestamp_register(struct rte_eth_dev *dev, struct rte_eth_conf *conf); Checking patch drivers/net/hns3/hns3_ethdev.c... error: drivers/net/hns3/hns3_ethdev.c: does not match index Checking patch drivers/net/hns3/hns3_ethdev.h... error: drivers/net/hns3/hns3_ethdev.h: does not match index Checking patch drivers/net/hns3/hns3_ethdev_vf.c... error: drivers/net/hns3/hns3_ethdev_vf.c: does not match index Checking patch drivers/net/hns3/hns3_fdir.h... Checking patch drivers/net/hns3/hns3_flow.c... Checking patch drivers/net/hns3/hns3_flow.h... Applied patch drivers/net/hns3/hns3_fdir.h cleanly. Applied patch drivers/net/hns3/hns3_flow.c cleanly. Applied patch drivers/net/hns3/hns3_flow.h cleanly. Checking patch drivers/net/hns3/hns3_common.c... error: drivers/net/hns3/hns3_common.c: does not exist in index Checking patch drivers/net/hns3/hns3_common.h... error: drivers/net/hns3/hns3_common.h: does not exist in index Checking patch drivers/net/hns3/hns3_common.c... error: drivers/net/hns3/hns3_common.c: does not exist in index Checking patch drivers/net/hns3/hns3_common.c... error: drivers/net/hns3/hns3_common.c: does not exist in index Checking patch drivers/net/hns3/hns3_common.h... error: drivers/net/hns3/hns3_common.h: does not exist in index Checking patch drivers/net/hns3/hns3_ethdev.c... error: drivers/net/hns3/hns3_ethdev.c: does not match index Checking patch drivers/net/hns3/hns3_ethdev.h... error: drivers/net/hns3/hns3_ethdev.h: does not match index Checking patch drivers/net/hns3/hns3_ethdev_vf.c... error: drivers/net/hns3/hns3_ethdev_vf.c: does not match index Checking patch drivers/net/hns3/hns3_tm.c... Applied patch drivers/net/hns3/hns3_tm.c cleanly. https://lab.dpdk.org/results/dashboard/patchsets/19897/ UNH-IOL DPDK Community Lab