在 2020/11/20 22:25, Ferruh Yigit 写道:
On 11/20/2020 11:27 AM, Lijun Ou wrote:
Here the printing of MAC addresses is adjusted. After the
modification, only some bytes of the MAC address are
displayed.


Why logging only some bytes of the MAC address?
I understand that the entire MAC address information can be obtained by printing part of the value, instead of printing all the MAC addresses.

Signed-off-by: Chengchang Tang <tangchengch...@huawei.com>
Signed-off-by: Lijun Ou <ouli...@huawei.com>
---
drivers/net/hns3/hns3_ethdev.c | 53 +++++++++++++++++++++++----------------
  drivers/net/hns3/hns3_ethdev.h    |  2 ++
  drivers/net/hns3/hns3_ethdev_vf.c | 32 +++++++++++------------
  3 files changed, 49 insertions(+), 38 deletions(-)

diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index 2011378..d6d3f03 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -102,6 +102,15 @@ static int hns3_remove_mc_addr(struct hns3_hw *hw,
  static int hns3_restore_fec(struct hns3_hw *hw);
  static int hns3_query_dev_fec_info(struct rte_eth_dev *dev);
+void hns3_ether_format_addr(char *buf, uint16_t size,
+                const struct rte_ether_addr *ether_addr)
+{
+    snprintf(buf, size, "%02X:**:**:**:%02X:%02X",
+        ether_addr->addr_bytes[0],
+        ether_addr->addr_bytes[4],
+        ether_addr->addr_bytes[5]);
+}
+
  static void
  hns3_pf_disable_irq0(struct hns3_hw *hw)
  {
@@ -1449,7 +1458,7 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
      /* check if mac addr is valid */
      if (!rte_is_valid_assigned_ether_addr(mac_addr)) {
-        rte_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE,
+        hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE,
                        mac_addr);

Is all these interim variable only to log the mac address? If so why not use macros insted, something like:

#define FMT "%02x:%02x:%02x:%02x:%02x:%02x"
#define MAC(addr) addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]

hns3_err(fw, "Add unicast mac addr err! addr(" FMT ") invalid", MAC(mac_addr));
Looks like a good suggestion. I need to discuss it with the author. Maybe it will be fixed in the new version.

.

Reply via email to