[PATCH v9 20/37] net-lwip: add DHCP support and dhcp commmand

Jerome Forissier jerome.forissier at linaro.org
Wed Sep 4 09:54:15 CEST 2024


Hi Simon,

On 8/29/24 16:05, Simon Glass wrote:
> Hi Jerome,
> 
> On Fri, 23 Aug 2024 at 07:49, Jerome Forissier
> <jerome.forissier at linaro.org> wrote:
>>
>> Add what it takes to enable NETDEVICES with NET_LWIP and enable DHCP as
>> well as the dhcp command. CMD_TFTPBOOT is selected by BOOTMETH_EFI due
>> to this code having an implicit dependency on do_tftpb().
>>
>> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
>> ---
>>  board/engicam/imx8mp/icore_mx8mp.c            |   2 +-
>>  .../imx8mp_debix_model_a.c                    |   2 +-
>>  board/ti/am335x/board.c                       |   3 +-
>>  board/xilinx/common/board.c                   |   3 +-
>>  boot/Kconfig                                  |   3 +-
>>  cmd/Kconfig                                   |  91 +++---
>>  cmd/Makefile                                  |   6 +-
>>  cmd/elf.c                                     |   2 +-
>>  cmd/net-lwip.c                                |  13 +
>>  common/board_r.c                              |   4 +-
>>  common/usb_kbd.c                              |   2 +-
>>  drivers/net/Kconfig                           |   2 +-
>>  include/net-lwip.h                            |   3 +
>>  lib/tiny-printf.c                             |   3 +-
>>  net/Makefile                                  |  14 +-
>>  net/lwip/Makefile                             |   5 +
>>  net/lwip/dhcp.c                               | 125 ++++++++
>>  net/lwip/eth_internal.h                       |  35 +++
>>  net/lwip/net-lwip.c                           | 286 ++++++++++++++++++
>>  net/lwip/tftp.c                               |  11 +
>>  20 files changed, 560 insertions(+), 55 deletions(-)
>>  create mode 100644 cmd/net-lwip.c
>>  create mode 100644 net/lwip/Makefile
>>  create mode 100644 net/lwip/dhcp.c
>>  create mode 100644 net/lwip/eth_internal.h
>>  create mode 100644 net/lwip/net-lwip.c
>>  create mode 100644 net/lwip/tftp.c
>>
>> diff --git a/board/engicam/imx8mp/icore_mx8mp.c b/board/engicam/imx8mp/icore_mx8mp.c
>> index e2ed70caa43..bfdc447c478 100644
>> --- a/board/engicam/imx8mp/icore_mx8mp.c
>> +++ b/board/engicam/imx8mp/icore_mx8mp.c
>> @@ -33,7 +33,7 @@ static void setup_fec(void)
>>         setbits_le32(&gpr->gpr[1], BIT(22));
>>  }
>>
>> -#if CONFIG_IS_ENABLED(NET)
>> +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP)
> 
> How about making NET mean 'net', rather than having two options?
> 
> Perhaps the existing NET needs to be renamed to NET_INTERNAL or
> something like that?

The problem with that is it will make it a bit harder to remove
the legacy NET implementation, because every occurrence of
"if NET" would need to be questioned if it is applicable to
NET_INTERNAL only or to NET_LWIP too. IOW, some of the thinking
already done here would need to be done again.


>>  int board_phy_config(struct phy_device *phydev)
>>  {
>>         if (phydev->drv->config)
>> diff --git a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
>> index 112770ba493..c709d017483 100644
>> --- a/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
>> +++ b/board/polyhex/imx8mp_debix_model_a/imx8mp_debix_model_a.c
>> @@ -29,7 +29,7 @@ static void setup_fec(void)
>>         setbits_le32(&gpr->gpr[1], BIT(22));
>>  }
>>
>> -#if CONFIG_IS_ENABLED(NET)
>> +#if CONFIG_IS_ENABLED(NET) || CONFIG_IS_ENABLED(NET_LWIP)
>>  int board_phy_config(struct phy_device *phydev)
>>  {
> 
> [..]
> 
> Regards,
> Simon

Regards,
-- 
Jerome


More information about the U-Boot mailing list