From: York Sun <yorksun@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 11/16] net/eth.c: Add function to validate a MAC address
Date: Fri, 14 Aug 2015 10:59:45 -0700 [thread overview]
Message-ID: <55CE2C91.1020900@freescale.com> (raw)
In-Reply-To: <BY1PR0301MB1208B22F3F2EACF5FA70C797E37C0@BY1PR0301MB1208.namprd03.prod.outlook.com>
On 08/14/2015 01:28 AM, Ciubotariu Codrin Constantin-B43658 wrote:
> Hi York,
>
>> -----Original Message-----
>> From: Sun York-R58495
>> Sent: Thursday, August 13, 2015 6:55 PM
>> To: Ciubotariu Codrin Constantin-B43658
>> Cc: Joe Hershberger; u-boot at lists.denx.de; joe.hershberger at ni.com
>> Subject: Re: [U-Boot] [PATCH v3 11/16] net/eth.c: Add function to validate a MAC
>> address
>>
>>
>>
>> On 08/13/2015 08:42 AM, Ciubotariu Codrin Constantin-B43658 wrote:
>>> Hi Joe, York,
>>>
>>>> -----Original Message-----
>>>> From: Sun York-R58495
>>>> Sent: Wednesday, August 12, 2015 10:59 PM
>>>> To: Ciubotariu Codrin Constantin-B43658
>>>> Cc: Joe Hershberger; u-boot at lists.denx.de; joe.hershberger at ni.com
>>>> Subject: Re: [U-Boot] [PATCH v3 11/16] net/eth.c: Add function to
>>>> validate a MAC address
>>>>
>>>> +Codrin
>>>>
>>>> Somehow I dropped Codrin in last reply.
>>>>
>>>> On 08/10/2015 01:45 PM, York Sun wrote:
>>>>>
>>>>>
>>>>> On 08/10/2015 01:05 PM, Joe Hershberger wrote:
>>>>>> Hi York,
>>>>>>
>>>>>> On Mon, Aug 10, 2015 at 3:03 PM, York Sun <yorksun@freescale.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 08/10/2015 12:57 PM, Joe Hershberger wrote:
>>>>>>>> Too much top-posting.
>>>>>>>>
>>>>>>>> On Mon, Aug 10, 2015 at 2:41 PM, York Sun <yorksun@freescale.com> wrote:
>>>>>>>>> SPL doesn't use net/eth.c. You add a call in env_flags.c.
>>>>>>>>>
>>>>>>>>> I think you can put it in header file and use static inline, or
>>>>>>>>> keep it in the same file where it is called.
>>>>>>>>
>>>>>>>> That is probably fine.
>>>>>>>>
>>>>>>>>> Another way is to undef CONFIG_CMD_NET for SPL part. It is
>>>>>>>>> default to 'y' in Kconfig. Joe may have some good suggestion.
>>>>>>>>
>>>>>>>> I don't think this is the reason. The problem is that net is
>>>>>>>> *not* build for SPL, but env is.
>>>>>>>
>>>>>>> Yes, env is built. The offending lines in common/env_flags.c are
>>>>>>> gated by "#ifdef CONFIG_CMD_NET". That's why I say it could be another
>> way.
>>>>>>
>>>>>> OK, sure... but that breaks intended behavior, I think.
>>>>>>
>>>>>
>>>>> I see. The CONFIG_CMD_NET is not evaluated separated for SPL build.
>>>>> So I guess the fix can be either to put the common function in
>>>>> header file after making it really simple to reduce dependency, or
>>>>> to keep the
>>>> original code in env_flag.c.
>>>>>
>>>>
>>>> Codrin,
>>>>
>>>> Can you prepare a new patch? You don't have to send the whole set.
>>>> All but one have been acked by Joe.
>>>>
>>>> York
>>>
>>> I can't inline eth_validate_ethaddr_str in eth.h since it depends on
>> simple_strtoul and tolower. Also, I can't let it in common/env_flags.c because I
>> need to access if from drivers/net/vsc9953.c . I guess it has to be in a .c file
>> that is also used by SPL targets. Could you please suggest such a file?
>>>
>>> SPL targets make use of CONFIG_CMD_NET? It seems strange that ETH env is
>> built, but net/net.c or net/eth.c not.
>>>
>>
>> I was discussing with Joe about the possibility to deselect CONFIG_CMD_NET for
>> SPL build. The issue here is Kconfig is not re-evaluated for the SPL part. If
>> you can experiment it, you can try to gate the code in env_flags.c with
>> CONFIG_SPL_BUILD. It sounds reasonable to me.
>>
>> York
>
> Something like
>
> #if defined(CONFIG_CMD_NET) && !defined(CONFIG_SPL_BUILD)
> case env_flags_vartype_ipaddr:
> cur = value;
> for (i = 0; i < 4; i++) {
> skip_num(0, cur, &end, 3);
> if (cur == end)
> return -1;
> if (i != 3 && *end != '.')
> return -1;
> if (i == 3 && *end != '\0')
> return -1;
> cur = end + 1;
> }
> break;
> case env_flags_vartype_macaddr:
> if (eth_validate_ethaddr_str(value))
> return -1;
> break;
> #endif
>
> ?
>
> I get two warnings on this:
> ../common/env_flags.c: In function '_env_flags_validate_type':
> ../common/env_flags.c:203:2: warning: enumeration value 'env_flags_vartype_ipaddr' not handled in switch [-Wswitch]
> switch (type) {
> ^
> ../common/env_flags.c:203:2: warning: enumeration value 'env_flags_vartype_macaddr' not handled in switch [-Wswitch]
>
> Unless I guard these values in env_flags.h:
> #if defined(CONFIG_CMD_NET) && !defined(CONFIG_SPL_BUILD)
> env_flags_vartype_ipaddr,
> env_flags_vartype_macaddr,
> #endif
>
It makes sense to me to take out these two for SPL build. The whole purpose of
SPL is to load the final image. I don't see a chance users would be able to type
any command.
Joe, do you agree the CMD_NET shouldn't be used for SPL?
York
next prev parent reply other threads:[~2015-08-14 17:59 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-24 13:55 [U-Boot] [PATCH v3 04/16] drivers/net/vsc9953: Fix missing reserved register Codrin Ciubotariu
2015-07-24 13:55 ` [U-Boot] [PATCH v3 05/16] include/bitfield: Add new bitfield operations Codrin Ciubotariu
2015-08-07 20:17 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 06/16] drivers/net/vsc9953: Add default configuration for VSC9953 L2 Switch Codrin Ciubotariu
2015-08-07 20:17 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 07/16] common/cmd_ethsw: Add generic commands for Ethernet Switches Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-08-07 22:58 ` York Sun
2015-08-10 5:47 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 08/16] drivers/net/vsc9953: Use the generic Ethernet Switch parser Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 09/16] drivers/net/vsc9953: Add command to show/clear port counters Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 10/16] drivers/net/vsc9953: Add commands to enable/disable HW learning Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 11/16] net/eth.c: Add function to validate a MAC address Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-08-08 0:30 ` York Sun
2015-08-10 8:44 ` Codrin Constantin Ciubotariu
2015-08-10 19:41 ` York Sun
2015-08-10 19:57 ` Joe Hershberger
2015-08-10 20:03 ` York Sun
2015-08-10 20:05 ` Joe Hershberger
2015-08-10 20:45 ` York Sun
2015-08-12 19:58 ` York Sun
2015-08-13 7:33 ` Codrin Constantin Ciubotariu
2015-08-13 15:42 ` Codrin Constantin Ciubotariu
2015-08-13 15:54 ` York Sun
2015-08-14 8:28 ` Codrin Constantin Ciubotariu
2015-08-14 17:59 ` York Sun [this message]
2015-08-17 14:37 ` Joe Hershberger
2015-08-17 15:17 ` York Sun
2015-08-19 7:21 ` Codrin Constantin Ciubotariu
2015-07-24 13:55 ` [U-Boot] [PATCH v3 12/16] drivers/net/vsc9953: Add commands to manipulate the FDB for VSC9953 Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 13/16] drivers/net/vsc9953: Add VLAN commands " Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 14/16] drivers/net/vsc9953: Add command for shared/private VLAN learning Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 15/16] drivers/net/vsc9953: Add commands for VLAN ingress filtering Codrin Ciubotariu
2015-08-07 20:18 ` Joe Hershberger
2015-07-24 13:55 ` [U-Boot] [PATCH v3 16/16] drivers/net/vsc9953: Add GPL-2.0+ SPDX-License-Identifier Codrin Ciubotariu
2015-08-07 20:19 ` Joe Hershberger
2015-08-07 20:17 ` [U-Boot] [PATCH v3 04/16] drivers/net/vsc9953: Fix missing reserved register Joe Hershberger
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=55CE2C91.1020900@freescale.com \
--to=yorksun@freescale.com \
--cc=u-boot@lists.denx.de \
/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