From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Maxim Uvarov <maxim.uvarov@linaro.org>
Cc: u-boot@lists.denx.de, pbrobinson@gmail.com,
joe.hershberger@ni.com, rfried.dev@gmail.com, trini@konsulko.com,
goldsimon@gmx.de
Subject: Re: [PATCHv8 04/15] net/lwip: implement dhcp cmd
Date: Wed, 13 Sep 2023 09:07:38 +0300 [thread overview]
Message-ID: <ZQFRqo+wPifYRCg/@hera> (raw)
In-Reply-To: <20230908135320.7066-5-maxim.uvarov@linaro.org>
On Fri, Sep 08, 2023 at 07:53:09PM +0600, Maxim Uvarov wrote:
> +
> +#include <common.h>
> +#include <command.h>
> +#include <console.h>
> +
> +#include <lwip/dhcp.h>
> +#include <lwip/prot/dhcp.h>
> +#include "lwip/timeouts.h"
> +
> +#include <net/eth.h>
> +#include <net/ulwip.h>
> +
> +#define DHCP_WAIT_MS 2000
Is this the time we wait for a dhcp reply? If so we should bump it to
something higher
> +
> +static void dhcp_tmo(void *arg)
> +{
> + struct netif *netif = (struct netif *)arg;
> + struct dhcp *dhcp;
> + int err = 0;
> +
> + dhcp = netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_DHCP);
> + if (!dhcp)
> + return;
> +
> + switch (dhcp->state) {
> + case DHCP_STATE_BOUND:
> + err += env_set("bootfile", dhcp->boot_file_name);
> + err += env_set("ipaddr", ip4addr_ntoa(&dhcp->offered_ip_addr));
> + err += env_set("netmask", ip4addr_ntoa(&dhcp->offered_sn_mask));
> + err += env_set("serverip", ip4addr_ntoa(&dhcp->server_ip_addr));
> + if (err)
> + log_err("error update envs\n");
> + log_info("DHCP client bound to address %s\n", ip4addr_ntoa(&dhcp->offered_ip_addr));
> + break;
> + default:
> + return;
> + }
> +}
> +
> +int ulwip_dhcp(void)
> +{
> + struct netif *netif;
> + int eth_idx;
> +
> + eth_idx = eth_get_dev_index();
> + if (eth_idx < 0)
> + return -EPERM;
> +
> + netif = netif_get_by_index(eth_idx + 1);
Why is the +1 needed here?
> + if (!netif)
> + return -ENOENT;
> +
> + sys_timeout(DHCP_WAIT_MS, dhcp_tmo, netif);
> +
> + return dhcp_start(netif) ? 0 : -EPERM;
> +}
> --
> 2.30.2
>
next prev parent reply other threads:[~2023-09-13 6:07 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-08 13:53 [PATCHv8 00/15] net/lwip: add lwip library for the network stack Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 01/15] net/lwip: add doc/develop/net_lwip.rst Maxim Uvarov
2023-09-12 7:40 ` Ilias Apalodimas
2023-09-08 13:53 ` [PATCHv8 02/15] net/lwip: integrate lwIP library Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 03/15] net/lwip: implement dns cmd Maxim Uvarov
2023-09-13 5:56 ` Ilias Apalodimas
2023-09-13 8:32 ` Simon Goldschmidt
2023-09-13 13:46 ` Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 04/15] net/lwip: implement dhcp cmd Maxim Uvarov
2023-09-13 6:07 ` Ilias Apalodimas [this message]
2023-09-13 8:35 ` Simon Goldschmidt
2023-09-08 13:53 ` [PATCHv8 05/15] net/lwip: implement tftp cmd Maxim Uvarov
2023-09-13 6:15 ` Ilias Apalodimas
2023-09-13 8:38 ` Simon Goldschmidt
2023-09-13 13:38 ` Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 06/15] net/lwip: implement wget cmd Maxim Uvarov
2023-09-13 6:25 ` Ilias Apalodimas
2023-09-08 13:53 ` [PATCHv8 07/15] net/lwip: implement ping cmd Maxim Uvarov
2023-09-13 6:28 ` Ilias Apalodimas
2023-09-08 13:53 ` [PATCHv8 08/15] net/lwip: add lwIP configuration Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 09/15] net/lwip: implement lwIP port to U-Boot Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 10/15] net/lwip: update .gitignore with lwIP Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 11/15] net/lwip: connection between cmd and lwip apps Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 12/15] net/lwip: replace original net commands with lwip Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 13/15] net/lwip: split net.h to net.h, arp.h and eth.h Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 14/15] net/lwip: drop old net/wget Maxim Uvarov
2023-09-08 13:53 ` [PATCHv8 15/15] net/lwip/wget add port selection Maxim Uvarov
2023-09-13 6:30 ` Ilias Apalodimas
2023-09-08 13:59 ` [PATCHv8 00/15] net/lwip: add lwip library for the network stack Tom Rini
2023-09-12 11:41 ` Maxim Uvarov
2023-09-12 19:26 ` Simon Glass
2023-09-13 7:31 ` Maxim Uvarov
2023-09-13 7:53 ` Ilias Apalodimas
2023-09-13 8:43 ` Simon Goldschmidt
2023-09-13 10:06 ` Peter Robinson
2023-09-13 13:14 ` Tom Rini
2023-09-13 13:34 ` Maxim Uvarov
2023-09-21 16:29 ` Simon Glass
2023-09-22 10:56 ` Simon Goldschmidt
2023-09-22 16:13 ` Tom Rini
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=ZQFRqo+wPifYRCg/@hera \
--to=ilias.apalodimas@linaro.org \
--cc=goldsimon@gmx.de \
--cc=joe.hershberger@ni.com \
--cc=maxim.uvarov@linaro.org \
--cc=pbrobinson@gmail.com \
--cc=rfried.dev@gmail.com \
--cc=trini@konsulko.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.