[PATCH 0/8] Reorganize network initialization

Fabian Bläse fabian at blaese.de
Fr Apr 12 14:50:07 CEST 2019


Hallo Adrian,

ich habs nur grob überflogen, klingt aber sinnvoll. Danke.

Ich würde damit aber gerne warten, bis wir die Gatewayfirmware soweit fertig haben.
Dann kann das bei solche Umbauten direkt berücksichtigt werden und wir ziehen das nicht noch weiter in die Länge.. :-)

Gruß
Fabian

On 10.04.19 16:31, Adrian Schmutzler wrote:
> 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 (8):
>   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-network: Provide script with CPUPORT
>   fff-wireless: Move antenna gain and rssileds setup to scripts
> 
>  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
>  .../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    |  54 +++++
>  .../files/etc/uci-defaults/22b-config-ports        |  94 ++++++++
>  .../files/etc/uci-defaults/22c-config-ethmesh      |  72 ++++++
>  .../files/etc/uci-defaults/23-config-ipaddr        |  35 +++
>  .../fff-network/files/lib/functions/fff/cpuport    |  34 +++
>  .../files/lib/functions/fff/networksetup           | 155 ++++++++++++
>  .../fff-network/files/lib/functions/fff/portorder  |  31 +++
>  .../fff-network/files/usr/sbin/configurenetwork    | 263 ---------------------
>  .../fff/fff-network/files/usr/sbin/set2ndport      |  28 +++
>  .../fff/fff-network/files/usr/sbin/setoneport      |  20 ++
>  .../fff/fff-network/files/usr/sbin/settwoport      |  44 ++++
>  .../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       |   9 +-
>  src/packages/fff/fff-sysupgrade/Makefile           |   3 +-
>  .../files/etc/uci-defaults/99-fff-sysupgrade       |   1 -
>  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}          |   0
>  .../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 -
>  81 files changed, 701 insertions(+), 819 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-boardname => 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-routermac
>  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/setoneport
>  create mode 100755 src/packages/fff/fff-network/files/usr/sbin/settwoport
>  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} (100%)
>  create mode 100644 src/packages/fff/fff-wireless/files/etc/uci-defaults/20b-config-wireless
>  delete mode 100644 src/packages/fff/fff-wireless/files/etc/uci-defaults/62-config-wireless
>  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   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190412/3ca1e07b/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev