DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Gagandeep Singh <G.Singh@nxp.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v4 2/3] net/enetc: set random MAC in case no MAC for SI
Date: Tue, 22 Oct 2019 09:59:46 +0100	[thread overview]
Message-ID: <01326a7c-ed75-19a2-29cf-142ed98fd920@intel.com> (raw)
In-Reply-To: <VE1PR04MB636558CBEEAD1A07A098F965E1680@VE1PR04MB6365.eurprd04.prod.outlook.com>

On 10/22/2019 6:31 AM, Gagandeep Singh wrote:
> 
> <...>
>>>
>>>  include $(RTE_SDK)/mk/rte.lib.mk
>>> diff --git a/drivers/net/enetc/enetc_ethdev.c
>> b/drivers/net/enetc/enetc_ethdev.c
>>> index 4e978348c..475ec77c3 100644
>>> --- a/drivers/net/enetc/enetc_ethdev.c
>>> +++ b/drivers/net/enetc/enetc_ethdev.c
>>> @@ -4,6 +4,7 @@
>>>
>>>  #include <stdbool.h>
>>>  #include <rte_ethdev_pci.h>
>>> +#include <rte_random.h>
>>>
>>>  #include "enetc_logs.h"
>>>  #include "enetc.h"
>>> @@ -123,11 +124,22 @@ enetc_link_update(struct rte_eth_dev *dev, int
>> wait_to_complete __rte_unused)
>>>  	return rte_eth_linkstatus_set(dev, &link);
>>>  }
>>>
>>> +static void
>>> +print_ethaddr(const char *name, const struct rte_ether_addr *eth_addr)
>>> +{
>>> +	char buf[RTE_ETHER_ADDR_FMT_SIZE];
>>> +
>>> +	rte_ether_format_addr(buf, RTE_ETHER_ADDR_FMT_SIZE, eth_addr);
>>> +	ENETC_PMD_INFO("%s%s\n", name, buf);
>>> +}
>>> +
>>>  static int
>>>  enetc_hardware_init(struct enetc_eth_hw *hw)
>>>  {
>>>  	struct enetc_hw *enetc_hw = &hw->hw;
>>>  	uint32_t *mac = (uint32_t *)hw->mac.addr;
>>> +	uint32_t high_mac = 0;
>>> +	uint16_t low_mac = 0;
>>>
>>>  	PMD_INIT_FUNC_TRACE();
>>>  	/* Calculating and storing the base HW addresses */
>>> @@ -138,8 +150,29 @@ enetc_hardware_init(struct enetc_eth_hw *hw)
>>>  	enetc_wr(enetc_hw, ENETC_SIMR, ENETC_SIMR_EN);
>>>
>>>  	*mac = (uint32_t)enetc_port_rd(enetc_hw, ENETC_PSIPMAR0(0));
>>> +	high_mac = (uint32_t)*mac;
>>>  	mac++;
>>>  	*mac = (uint16_t)enetc_port_rd(enetc_hw, ENETC_PSIPMAR1(0));
>>> +	low_mac = (uint16_t)*mac;
>>> +
>>> +	if ((high_mac | low_mac) == 0) {
>>> +		char *first_byte;
>>> +
>>> +		ENETC_PMD_INFO("MAC is not available for this SI, "
>>> +			       "set random MAC\n");
>>> +		mac = (uint32_t *)hw->mac.addr;
>>> +		*mac = (uint32_t)rte_rand();
>>> +		first_byte = (char *)mac;
>>> +		*first_byte &= 0xfe;	/* clear multicast bit */
>>> +		*first_byte |= 0x02;	/* set local assignment bit (IEEE802) */
>>> +
>>> +		enetc_port_wr(enetc_hw, ENETC_PSIPMAR0(0), *mac);
>>> +		mac++;
>>> +		*mac = (uint16_t)rte_rand();
>>> +		enetc_port_wr(enetc_hw, ENETC_PSIPMAR1(0), *mac);
>>> +		print_ethaddr("New address: ",
>>> +			      (const struct rte_ether_addr *)hw->mac.addr);
>>> +	}
>>>
>>>  	return 0;
>>>  }
>>> @@ -906,5 +939,5 @@ RTE_INIT(enetc_pmd_init_log)
>>>  {
>>>  	enetc_logtype_pmd = rte_log_register("pmd.net.enetc");
>>>  	if (enetc_logtype_pmd >= 0)
>>> -		rte_log_set_level(enetc_logtype_pmd, RTE_LOG_NOTICE);
>>> +		rte_log_set_level(enetc_logtype_pmd, RTE_LOG_INFO);
>>
>>
>> This part look unrelated with the what commit log describes. And why you are
>> making the driver more verbose by default?
>>
> I changed this to print MAC address by default. Currently, enetc driver is not supporting
> NOTICE type log and the next supported log level is INFO and we are using INFO type log
> only while setting the random MAC addresses.
> If INFO type log is not ok to print this information, please suggest me. Should I add NOTICE
> Type log? Or  just add a printf to display the MAC address.
> 

There is no strict rule, but mostly* drivers set the default log level to
NOTICE, the intention is to make logging less noisy by default.

Is the log you have mentioned should be printed always for all applications by
default, if so I suggest updating its level to NOTICE, (adding NOTICE level is
easy or you can use 'ENETC_PMD_LOG' directly for it.)

But if that log is not required for all, I suggest keeping it INFO and the
default level NOTICE.


  reply	other threads:[~2019-10-22  8:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-21  6:29 [dpdk-dev] [PATCH 1/2] net/enetc: add macro for BD ring alignment Gagandeep Singh
2019-10-21  6:29 ` [dpdk-dev] [PATCH 2/2] net/enetc: set random MAC in case no MAC for SI Gagandeep Singh
2019-10-21  8:58 ` [dpdk-dev] [PATCH v2 0/2] enetc PMD specific changes Gagandeep Singh
2019-10-21  8:58   ` [dpdk-dev] [PATCH v2 1/2] net/enetc: set random MAC in case no MAC for SI Gagandeep Singh
2019-10-21  8:58   ` [dpdk-dev] [PATCH v2 2/2] net/enetc: enable dpaax library Gagandeep Singh
2019-10-21  9:11   ` [dpdk-dev] [PATCH v3 0/3] enetc PMD specific changes Gagandeep Singh
2019-10-21  9:11     ` [dpdk-dev] [PATCH v3 1/3] net/enetc: add macro for BD ring alignment Gagandeep Singh
2019-10-21  9:11     ` [dpdk-dev] [PATCH v3 2/3] net/enetc: set random MAC in case no MAC for SI Gagandeep Singh
2019-10-21  9:11     ` [dpdk-dev] [PATCH v3 3/3] net/enetc: enable dpaax library Gagandeep Singh
2019-10-21 10:50     ` [dpdk-dev] [PATCH v4 0/3] enetc PMD specific changes Gagandeep Singh
2019-10-21 10:50       ` [dpdk-dev] [PATCH v4 1/3] net/enetc: add macro for BD ring alignment Gagandeep Singh
2019-10-21 15:54         ` Ferruh Yigit
2019-10-22  5:32           ` Gagandeep Singh
2019-10-21 10:50       ` [dpdk-dev] [PATCH v4 2/3] net/enetc: set random MAC in case no MAC for SI Gagandeep Singh
2019-10-21 16:04         ` Ferruh Yigit
2019-10-22  5:31           ` Gagandeep Singh
2019-10-22  8:59             ` Ferruh Yigit [this message]
2019-10-22 11:32               ` Gagandeep Singh
2019-10-21 10:50       ` [dpdk-dev] [PATCH v4 3/3] net/enetc: enable dpaax library Gagandeep Singh
2019-10-21 15:55         ` Ferruh Yigit
2019-10-22  5:31           ` Gagandeep Singh
2019-10-22  9:00             ` Ferruh Yigit
2019-10-22 11:30               ` Gagandeep Singh
2019-10-23  6:05       ` [dpdk-dev] [PATCH v5 0/4] enetc PMD specific changes Gagandeep Singh
2019-10-23  6:05         ` [dpdk-dev] [PATCH v5 1/4] net/enetc: fix BD ring alignment Gagandeep Singh
2019-10-23  6:06         ` [dpdk-dev] [PATCH v5 2/4] net/enetc: set random MAC in case no MAC for SI Gagandeep Singh
2019-10-23  6:06         ` [dpdk-dev] [PATCH v5 3/4] net/enetc: add log level notice Gagandeep Singh
2019-10-23  6:06         ` [dpdk-dev] [PATCH v5 4/4] net/enetc: enable dpaax library Gagandeep Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01326a7c-ed75-19a2-29cf-142ed98fd920@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=G.Singh@nxp.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).