All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/3] skeleton: optionally wait for network interfaces to appear
Date: Wed, 28 Oct 2015 18:46:53 +0100	[thread overview]
Message-ID: <20151028174653.GA3650@free.fr> (raw)
In-Reply-To: <1446047943-24641-3-git-send-email-jezz@sysmic.org>

J?r?me, All,

On 2015-10-28 16:59 +0100, J?r?me Pouiller spake thusly:
> This patch has same purpose than 49964858f45d2243c513e6d362e992ad89ec7a45:
> 
>   On some machines, the network interface is slow to appear. For example,
>   on the Raspberry Pi, the network interface eth0 is an ethernet-over-USB,
>   and our standard boot process is too fast, so our network startup script
>   is called before the USB bus is compeltely enumerated, thus it can't
>   configure eth0.
> 
>   Closes #8116.
> 
> However, it use an optionnal ifupdown hook instead of an initscript.
> 
> Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
> ---
>  system/skeleton/etc/network/if-pre-up.d/wait_iface | 28 ++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>  create mode 100755 system/skeleton/etc/network/if-pre-up.d/wait_iface
> 
> diff --git a/system/skeleton/etc/network/if-pre-up.d/wait_iface b/system/skeleton/etc/network/if-pre-up.d/wait_iface
> new file mode 100755
> index 0000000..4f0866b
> --- /dev/null
> +++ b/system/skeleton/etc/network/if-pre-up.d/wait_iface
> @@ -0,0 +1,28 @@
> +#!/bin/sh
> +
> +# In case we have a slow-to-appear interface (e.g. eth-over-USB),
> +# and we need to configure it, wait until it appears, but not too
> +# long either. IF_WAIT_DELAY is in seconds.
> +
> +if [ "${IF_WAIT_DELAY}" ]; then
> +

Please drop the empty lines.

Also, I would have preferred patches 2 & 3 to be folded into a single
patch. I don't really understand how it all works:

  - does the busybox ifup-down and full-fledged ifup-down support
    wait-delay?
  - I looked at man 5 interfaces, and there is no mention of wait-delay,
  - I don't see how 'wait-delay' translates to 'wait_iface'
  - I guess 'wait-delay' is made an environment variable IF_WAIT_DELAY
    before the script is run, but I'd have preferred explanations rather
    than having to guess.

Care to shed some light, please?

Otherwise, the idea looks fine to me. Thanks! :-)

Regards,
Yann E. MORIN.

> +    printf "Waiting for interface %s to appear" "${IFACE}"
> +    while [ ${IF_WAIT_DELAY} -gt 0 ]; do
> +
> +        if [ -e "/sys/class/net/${IFACE}" ]; then
> +
> +            printf " yes\n"
> +            exit 0
> +
> +        fi
> +        sleep 1
> +        printf "."
> +
> +        : $((IF_WAIT_DELAY -= 1))
> +
> +    done
> +    printf " no.\n"
> +    exit 1
> +
> +fi
> +
> -- 
> 2.1.4
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2015-10-28 17:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-28 15:59 [Buildroot] [PATCH 0/3] Alternative way to wait interfaces on bootup Jérôme Pouiller
2015-10-28 15:59 ` [Buildroot] [PATCH 1/3] Revert "package/initscripts: S40network: wait for network interfaces to appear" Jérôme Pouiller
2015-10-28 15:59 ` [Buildroot] [PATCH 2/3] skeleton: optionally wait for network interfaces to appear Jérôme Pouiller
2015-10-28 17:46   ` Yann E. MORIN [this message]
2015-10-28 20:21     ` Jérôme Pouiller
2015-10-28 21:37       ` Yann E. MORIN
2015-10-28 21:51         ` Peter Korsgaard
2015-10-28 21:57           ` Yann E. MORIN
2015-10-28 22:15             ` Peter Korsgaard
2015-10-29  7:53         ` Nicolas Cavallari
2015-10-29  8:08   ` Nicolas Cavallari
2015-10-28 15:59 ` [Buildroot] [PATCH 3/3] skeleton: wait interface to appear if dhcp is enabled Jérôme Pouiller

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=20151028174653.GA3650@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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.