mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Barebox List <barebox@lists.infradead.org>
Subject: Networking updates
Date: Fri, 24 Nov 2017 09:12:16 +0100	[thread overview]
Message-ID: <20171124081237.6830-1-s.hauer@pengutronix.de> (raw)

s series solves some issues that have been nagging me for some
time now.

First of all the manual selection of the current ethernet device is
unnecessary since the interface can be picked by the networking code
automatically based on the IP settings of the interface. With this
series the "ethact" command is gone and users of boards with multiple
network interfaces no longer have to worry about picking the right
one.

Then the network device configuration can now be done with nvvars.
This makes it unnecessary to edit scripts on the device (which may
be cumbersome on some devices which lose characters on serial ports)
and it makes it also easier for scripts or setup code to modify
the network config.

Finally the DHCP code is cleaned up, primarily to be able to pass
in the network interface that shall be used, but also to make more
clear which variables are input and which are output.

For DHCP users the configuration is simple: It is the default. A static
IP setup can now be done with the variables:

nv.net.server
nv.net.nameserver
nv.net.gateway

and the network device specific variables (assuming "eth0" as network device):

nv.dev.eth0.ipaddr
nv.dev.eth0.netmask

(For those who are not already familiar with it: It's the normal way to store
device parameters in nvvars, like already possible for example with NAND
partitioning, i.e. nv.dev.nand0.partitions=4M(barebox),-(root), see
http://www.barebox.org/doc/latest/user/variables.html#non-volatile-device-variables)

As usual, all comments are welcome.

Sascha

----------------------------------------------------------------
Sascha Hauer (21):
      driver: Add device_detect_all() function
      nvvar: when setting a nvvar to NULL just free the content
      net: Make domainname and nameserver globalvars
      net: Add functions to get/set nameserver and domainname
      net: introduce global.net.server
      net: dhcp: Do not overwrite serverip if it is valid
      net: Use a single gateway
      net: allow udp connections on specified network device
      net: dhcp: Allow to specify network device
      net: dhcp: avoid unnecessary casts
      net: dhcp: Coding style fixes
      net: dhcp: rework
      net: Pick network device based on IP settings
      net: remove "current" network device
      net: ifup: Factor out a eth_discover function
      ifup: Use dhcp C API rather than running command
      net: Provide new way to configure network devices
      net: update network docs
      net: environment: remove ethx setup files
      net: environment: update automounts
      defaultenv: Add README for new network config

 Documentation/user/automount.rst                   |   2 +-
 Documentation/user/networking.rst                  |  99 +++-
 .../arm/boards/afi-gf/defaultenv-gf/init/automount |  10 -
 arch/arm/boards/afi-gf/defaultenv-gf/network/eth1  |  18 -
 .../defaultenv-pico-hobbit/init/automount          |  11 -
 .../defaultenv-pico-hobbit/network/eth1            |  18 -
 .../zii-imx6q-rdu2/defaultenv-rdu2/init/automount  |  17 -
 .../zii-imx6q-rdu2/defaultenv-rdu2/network/eth1    |  18 -
 commands/Makefile                                  |   1 -
 commands/detect.c                                  |   6 +-
 commands/dhcp.c                                    |  29 +-
 commands/net.c                                     |  66 ---
 common/globalvar.c                                 |   6 +-
 defaultenv/defaultenv-2-base/init/automount        |   4 +-
 defaultenv/defaultenv-2-base/network/README        |   3 +
 defaultenv/defaultenv-2-base/network/eth0          |  18 -
 drivers/base/driver.c                              |   8 +
 include/dhcp.h                                     |  24 +-
 include/driver.h                                   |   1 +
 include/net.h                                      |  27 +-
 net/dhcp.c                                         | 568 +++++++++------------
 net/dns.c                                          |  10 +-
 net/eth.c                                          |  39 +-
 net/ifup.c                                         | 252 ++++++---
 net/net.c                                          | 143 ++++--
 25 files changed, 692 insertions(+), 706 deletions(-)
 delete mode 100644 arch/arm/boards/afi-gf/defaultenv-gf/init/automount
 delete mode 100644 arch/arm/boards/afi-gf/defaultenv-gf/network/eth1
 delete mode 100644 arch/arm/boards/technexion-pico-hobbit/defaultenv-pico-hobbit/init/automount
 delete mode 100644 arch/arm/boards/technexion-pico-hobbit/defaultenv-pico-hobbit/network/eth1
 delete mode 100644 arch/arm/boards/zii-imx6q-rdu2/defaultenv-rdu2/init/automount
 delete mode 100644 arch/arm/boards/zii-imx6q-rdu2/defaultenv-rdu2/network/eth1
 delete mode 100644 commands/net.c
 create mode 100644 defaultenv/defaultenv-2-base/network/README
 delete mode 100644 defaultenv/defaultenv-2-base/network/eth0

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

             reply	other threads:[~2017-11-24  8:13 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-24  8:12 Sascha Hauer [this message]
2017-11-24  8:12 ` [PATCH 01/21] driver: Add device_detect_all() function Sascha Hauer
2017-11-24 23:34   ` Sam Ravnborg
2017-11-28  7:58     ` Sascha Hauer
2017-11-28 22:52       ` Sam Ravnborg
2017-11-24  8:12 ` [PATCH 02/21] nvvar: when setting a nvvar to NULL just free the content Sascha Hauer
2017-11-24  8:12 ` [PATCH 03/21] net: Make domainname and nameserver globalvars Sascha Hauer
2017-11-24  8:12 ` [PATCH 04/21] net: Add functions to get/set nameserver and domainname Sascha Hauer
2017-11-24 23:47   ` Sam Ravnborg
2017-11-27 15:18     ` Sascha Hauer
2017-11-24  8:12 ` [PATCH 05/21] net: introduce global.net.server Sascha Hauer
2017-11-24  8:12 ` [PATCH 06/21] net: dhcp: Do not overwrite serverip if it is valid Sascha Hauer
2017-11-25 16:36   ` Sam Ravnborg
2017-11-28  7:42     ` Sascha Hauer
2017-11-24  8:12 ` [PATCH 07/21] net: Use a single gateway Sascha Hauer
2017-11-24  8:12 ` [PATCH 08/21] net: allow udp connections on specified network device Sascha Hauer
2017-11-25 16:41   ` Sam Ravnborg
2017-11-27 14:45     ` Sascha Hauer
2017-11-24  8:12 ` [PATCH 09/21] net: dhcp: Allow to specify " Sascha Hauer
2017-11-25 16:46   ` Sam Ravnborg
2017-11-28  7:50     ` Sascha Hauer
2017-11-24  8:12 ` [PATCH 10/21] net: dhcp: avoid unnecessary casts Sascha Hauer
2017-11-24  8:12 ` [PATCH 11/21] net: dhcp: Coding style fixes Sascha Hauer
2017-11-24  8:12 ` [PATCH 12/21] net: dhcp: rework Sascha Hauer
2017-11-25 17:02   ` Sam Ravnborg
2017-11-28  7:54     ` Sascha Hauer
2017-11-24  8:12 ` [PATCH 13/21] net: Pick network device based on IP settings Sascha Hauer
2017-11-24  8:12 ` [PATCH 14/21] net: remove "current" network device Sascha Hauer
2017-11-24  8:12 ` [PATCH 15/21] net: ifup: Factor out a eth_discover function Sascha Hauer
2017-11-24  8:12 ` [PATCH 16/21] ifup: Use dhcp C API rather than running command Sascha Hauer
2017-11-24  8:12 ` [PATCH 17/21] net: Provide new way to configure network devices Sascha Hauer
2017-11-24  8:12 ` [PATCH 18/21] net: update network docs Sascha Hauer
2017-11-24  8:12 ` [PATCH 19/21] net: environment: remove ethx setup files Sascha Hauer
2017-11-24  8:12 ` [PATCH 20/21] net: environment: update automounts Sascha Hauer
2017-11-24  8:12 ` [PATCH 21/21] defaultenv: Add README for new network config Sascha Hauer

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=20171124081237.6830-1-s.hauer@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=barebox@lists.infradead.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