[PATCH v2 00/10] Reorganize network initialization

mail at adrianschmutzler.de mail at adrianschmutzler.de
So Apr 14 23:47:44 CEST 2019


Hallo Robert,

im Prinzip habe ich mich von OpenWrt inspirieren lassen, siehe z.B.
https://github.com/openwrt/openwrt/blob/master/target/linux/ath79/base-files/etc/board.d/02_network

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of robert
> Sent: Sonntag, 14. April 2019 23:39
> To: franken-dev at freifunk.net
> Subject: Re: [PATCH v2 00/10] Reorganize network initialization
> 
> Hi Adrian,
> 
> Hut ab, dass du dich an den Start ran gewagt hast!
> 
> configurenetwork los zu werden ist schon mal klasse. Die Aufteilung in
> einzelne uci-defaults gefaellt mir auch recht gut. Ob ich die vielen
> Konfigdaten in Skripten gut finde, hm. Das alte Unix Prinzip, Konfiguration in
> config-Dateien und Skripte/Programme tun damit was, hat schon seinen
> Sinn. Bei den uci-defaults fuehlt sich das nicht ganz so schlimm an. Die
> verschwinden ja auch nach dem ersten Boot. Aber da hinten in
> /lib/functions/... die portorder zu konfigurieren, in einem Skript, find ich
> nicht so schoen.
> 
> Ich muss das alles noch etwas wirken lassen und die Tage noch mal drüber
> schauen. Ich wollte dir nur schon mal meine ersten Gedanken dazu rüber
> werfen.
> 
> Grüße Robert
> 
> Am 14.04.19 um 01:25 schrieb Adrian Schmutzler:
> > V2:
> >
> > This is a refined patchset with several updates:
> > - Removed all restart commands and similar, since at uci-defaults
> >   boot stage this is not necessary (which is actually a big gain)
> > - Various tidy-up stuff
> > - Added old patch for removing wifi initial setup
> > - Added support patch for Nano M second port
> > - Various fixes
> > - Tested everything
> >
> > This has been tested (based on my firmware) on:
> > - Archer C7 v5
> > - Archer C60 v1
> > - CPE210 v2 (=one port)
> > - TL-WR841N v10
> >
> > I consider it "working" at the moment.
> >
> > I will remove my other older configurenetwork patches (and the wifi
> > removal patch) from the patchwork.
> >
> > V1:
> >
> > This is an attempt to get rid of configurenetwork.
> >
> > Where I first tried to get closer to OpenWrt's network setup, which
> > did not work as expected, I found that we can get rid of the nasty
> > configurenetwork script ...
> >
> > History lesson:
> > The necessity to run configurenetwork at each boot is caused by the
> > network.mode file, which was supposed to be changed by a user if he or
> > she wanted to adjust port modes. The rerun on each start was later
> > tackled by the FORCEPARSE parameter, which prevented a rerun on every
> > restart, but made everything more complicated in configurenetwork.
> > The network.config, introduced to make port setup for switch- based
> > devices upgradesafe, then again increased complexity.
> >
> > Problem description:
> > The high complexity of configurenetwork is caused by its design to
> > automatically act based on PARAMETERS defined in the
> > network.* files. So, a multitude of devices has to be mangled in a set
> > of common parameters, from which then everything should be set up
> > correctly. Still, everything has to be performed from the same script.
> >
> > Solution:
> > 1. OpenWrt has a similar problem with the LED and network setup.
> > What they did was splitting the problem into subtopics (LEDS, network,
> > MAC address, etc.) and then deal with them in a
> > switch-case/select-case statement. This patchset leverages the same
> > idea: Instead of specifying parameters, we will have switch-case
> > scripts for every "topic". There, we do not define parameters, but
> > rather call functions: This allows to deal with individual devices
> > more easily, as we can just edit code there or in worst case write an
> > individual solution.
> > On the other hand, this will allow for a lot of grouping of similar
> > devices.
> > 2. We give up the network.mode and network.config files. Most of the
> > network configuration is independent of the port setup:
> > There is no need to redo it. Just use uci-default scripts.
> > To account for manual changes of the porst, just rely on functions and
> > commands instead of predefined parameters. If one wants to change
> > ports: Do so via uci. If one wants it
> > upgrade-safe: Write the commmands into an upgradesafe script.
> > With the port change problem delegated to the user, we can do our
> > setup just at first boot.
> >
> > While at it:
> > - Do everything earlier: Setup of network/wifi will be done
> >   earlier in the boot process, as also suggested by others.
> > - Add the CPUPORT, as this follows the same script layout
> > - Also apply the same logic to the antenna gain and rssiled setup
> >
> > Outlook:
> > I have tested a prototype of this quickly on my Archer C7v5, so it is
> > generally working. If there is positive response, this will obviously
> > have to see some extensive testing.
> >
> > HF
> >
> > Adrian Schmutzler (10):
> >   fff-boardname: Start uci-default script earlier
> >   fff-batman-adv: Set up bat0 earlier
> >   fff-network: Reorganize network initialization
> >   fff-network: Remove obsolete network.* files
> >   fff-config: Split uci-defaults script into early and late part
> >   fff-network/-support/-web: Nice setup of special-port devices
> >   fff-wireless: No initial setup of dummy interfaces
> >   fff-network: Provide script with CPUPORT
> >   fff-wireless: Move antenna gain and rssileds setup to scripts
> >   Add support for second port of Nanostation M
> >
> >  bsp/default/root_file_system/etc/rc.local          |   4 -
> >  src/packages/fff/fff-batman-adv/Makefile           |   3 +-
> >  .../{93-fff-batman-adv => 21-fff-batman-adv}       |   0
> >  src/packages/fff/fff-boardname/Makefile            |   3 +-
> >  .../{50-fff-boardname => 15-fff-boardname}         |   0
> >  src/packages/fff/fff-config/Makefile               |   3 +-
> >  .../fff-config/files/etc/uci-defaults/10-setup-fff |  17 ++
> >  .../files/etc/uci-defaults/98-configure-fff        |  21 +-
> >  src/packages/fff/fff-network/Makefile              |   4 +-
> >  .../fff/fff-network/ar71xx/network.archer-c25-v1   |  10 -
> >  .../fff/fff-network/ar71xx/network.archer-c60-v1   |   9 -
> >  .../fff/fff-network/ar71xx/network.archer-c7-v2    |   8 -
> >  src/packages/fff/fff-network/ar71xx/network.cpe210 |  20 --
> >  .../fff/fff-network/ar71xx/network.cpe210-v2       |   7 -
> >  .../fff/fff-network/ar71xx/network.cpe210-v3       |   7 -
> >  src/packages/fff/fff-network/ar71xx/network.cpe510 |  20 --
> >  .../fff/fff-network/ar71xx/network.gl-ar150        |  16 --
> >  src/packages/fff/fff-network/ar71xx/network.mode   |  30 ---
> >  .../fff/fff-network/ar71xx/network.tl-mr3020-v1    |  11 -
> >  .../fff/fff-network/ar71xx/network.tl-wa850re-v1   |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wa860re-v1   |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wa901nd-v2   |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wdr3500-v1   |   7 -
> >  .../fff/fff-network/ar71xx/network.tl-wdr3600-v1   |   7 -
> >  .../fff/fff-network/ar71xx/network.tl-wdr4300-v1   |   7 -
> >  .../fff/fff-network/ar71xx/network.tl-wdr4310-v1   |   7 -
> >  .../fff/fff-network/ar71xx/network.tl-wr1043n-v5   |  17 --
> >  .../fff/fff-network/ar71xx/network.tl-wr1043nd-v1  |  13 -
> >  .../fff/fff-network/ar71xx/network.tl-wr1043nd-v2  |   7 -
> >  .../fff/fff-network/ar71xx/network.tl-wr1043nd-v3  |   7 -
> >  .../fff/fff-network/ar71xx/network.tl-wr1043nd-v4  |  17 --
> >  .../fff/fff-network/ar71xx/network.tl-wr740n-v4    |   9 -
> >  .../fff/fff-network/ar71xx/network.tl-wr741nd-v2   |   9 -
> >  .../fff/fff-network/ar71xx/network.tl-wr741nd-v4   |   9 -
> >  .../fff/fff-network/ar71xx/network.tl-wr841-v10    |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wr841-v11    |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wr841-v12    |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wr841-v7     |   8 -
> >  .../fff/fff-network/ar71xx/network.tl-wr841-v8     |  10 -
> >  .../fff/fff-network/ar71xx/network.tl-wr841-v9     |   8 -
> >  .../fff/fff-network/ar71xx/network.tl-wr842n-v2    |   8 -
> >  .../fff/fff-network/ar71xx/network.ubnt-bullet-m   |  10 -
> >  .../fff/fff-network/ar71xx/network.ubnt-loco-m     |  10 -
> >  .../fff/fff-network/ar71xx/network.ubnt-loco-m-xw  |  10 -
> >  .../fff/fff-network/ar71xx/network.ubnt-nano-m     |  10 -
> >  .../fff/fff-network/ar71xx/network.ubnt-pico-m     |  10 -
> >  .../fff/fff-network/ar71xx/network.ubnt-power-m-xw |  10 -
> >  .../fff/fff-network/ar71xx/network.ubnt-unifi      |  10 -
> >  .../fff-network/ar71xx/network.ubnt-unifiac-lite   |  13 -
> >  .../files/etc/uci-defaults/22a-config-routermac    |  55 +++++
> >  .../files/etc/uci-defaults/22b-config-ports        |  96 ++++++++
> >  .../files/etc/uci-defaults/22c-config-ethmesh      |  75 ++++++
> >  .../files/etc/uci-defaults/23-config-ipaddr        |  31 +++
> >  .../fff-network/files/lib/functions/fff/cpuport    |  34 +++
> >  .../files/lib/functions/fff/networksetup           | 196 +++++++++++++++
> >  .../fff-network/files/lib/functions/fff/portorder  |  31 +++
> >  .../fff-network/files/usr/sbin/configurenetwork    | 263 ---------------------
> >  .../fff/fff-network/files/usr/sbin/set2ndport      |  30 +++
> >  .../fff/fff-network/files/usr/sbin/setcpev1        |  46 ++++
> >  .../fff/fff-network/files/usr/sbin/setoneport      |  21 ++
> >  .../fff/fff-network/files/usr/sbin/settwoeth       |  26 ++
> >  .../fff/fff-network/mpc85xx/network.tl-wdr4900-v1  |  13 -
> >  src/packages/fff/fff-support/Makefile              |   2 +-
> >  .../files/etc/uci-defaults/90-firstbootfff         |  13 +
> >  .../fff/fff-support/files/usr/sbin/show_info       |  13 +-
> >  src/packages/fff/fff-sysupgrade/Makefile           |   3 +-
> >  .../files/etc/uci-defaults/99-fff-sysupgrade       |   3 +-
> >  src/packages/fff/fff-web/Makefile                  |   2 +-
> >  .../fff/fff-web/files/www/ssl/cgi-bin/ports.html   |  78 +++---
> >  src/packages/fff/fff-wireless/Makefile             |   3 +-
> >  .../{60-fff-wireless => 20a-fff-wireless}          |  10 -
> >  .../files/etc/uci-defaults/20b-config-wireless     |  52 ++++
> >  .../files/etc/uci-defaults/62-config-wireless      |   9 -
> >  .../fff/fff-wireless/files/etc/wifi.cpe210-v2      |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.cpe210-v3      |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1 |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.ubnt-loco-m    |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.ubnt-nano-m    |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.ubnt-pico-m    |   2 -
> >  .../fff-wireless/files/etc/wifi.ubnt-power-m-xw    |   2 -
> >  .../fff/fff-wireless/files/etc/wifi.ubnt-unifi     |   3 -
> >  .../fff-wireless/files/etc/wifi.ubnt-unifiac-lite  |   3 -
> >  83 files changed, 778 insertions(+), 835 deletions(-)  rename
> > src/packages/fff/fff-batman-adv/files/etc/uci-defaults/{93-fff-batman-
> > adv => 21-fff-batman-adv} (100%)  rename
> > src/packages/fff/fff-boardname/files/etc/uci-defaults/{50-fff-boardnam
> > e => 15-fff-boardname} (100%)  create mode 100644
> > src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.archer-c25-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.archer-c60-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.archer-c7-v2
> >  delete mode 100644 src/packages/fff/fff-network/ar71xx/network.cpe210
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.cpe210-v2
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.cpe210-v3
> >  delete mode 100644 src/packages/fff/fff-network/ar71xx/network.cpe510
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.gl-ar150
> >  delete mode 100644 src/packages/fff/fff-network/ar71xx/network.mode
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-mr3020-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr1043n-v5
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v2
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v3
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v4
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr841-v10
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr841-v11
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr841-v12
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr841-v7
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr841-v8
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr841-v9
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.tl-wr842n-v2
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-pico-m
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-power-m-xw
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-unifi
> >  delete mode 100644
> > src/packages/fff/fff-network/ar71xx/network.ubnt-unifiac-lite
> >  create mode 100644
> > src/packages/fff/fff-network/files/etc/uci-defaults/22a-config-routerm
> > ac  create mode 100644
> > src/packages/fff/fff-network/files/etc/uci-defaults/22b-config-ports
> >  create mode 100644
> > src/packages/fff/fff-network/files/etc/uci-defaults/22c-config-ethmesh
> >  create mode 100644
> > src/packages/fff/fff-network/files/etc/uci-defaults/23-config-ipaddr
> >  create mode 100644
> > src/packages/fff/fff-network/files/lib/functions/fff/cpuport
> >  create mode 100644
> > src/packages/fff/fff-network/files/lib/functions/fff/networksetup
> >  create mode 100644
> > src/packages/fff/fff-network/files/lib/functions/fff/portorder
> >  delete mode 100755
> > src/packages/fff/fff-network/files/usr/sbin/configurenetwork
> >  create mode 100755
> > src/packages/fff/fff-network/files/usr/sbin/set2ndport
> >  create mode 100755
> > src/packages/fff/fff-network/files/usr/sbin/setcpev1
> >  create mode 100755
> > src/packages/fff/fff-network/files/usr/sbin/setoneport
> >  create mode 100755
> > src/packages/fff/fff-network/files/usr/sbin/settwoeth
> >  delete mode 100644
> > src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1
> >  create mode 100644
> > src/packages/fff/fff-support/files/etc/uci-defaults/90-firstbootfff
> >  rename
> > src/packages/fff/fff-wireless/files/etc/uci-defaults/{60-fff-wireless
> > => 20a-fff-wireless} (66%)  create mode 100644
> > src/packages/fff/fff-wireless/files/etc/uci-defaults/20b-config-wirele
> > ss  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/uci-defaults/62-config-wireles
> > s  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.cpe210-v2
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.cpe210-v3
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.tl-wr1043nd-v1
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-loco-m-xw
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-nano-m
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-pico-m
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-power-m-xw
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifi
> >  delete mode 100644
> > src/packages/fff/fff-wireless/files/etc/wifi.ubnt-unifiac-lite
> >
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190414/5c18a075/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev