[PATCH v2 00/10] Reorganize network initialization

Christian Dresel fff at chrisi01.de
Mo Apr 22 09:37:44 CEST 2019


Hallo Adrian,

ich bin dein Patchset jetzt mal durch, werde zu jeden Teil jetzt ne Mail
schreiben aber gleich vorweg:

Ich würde mich freuen wenn das komplette Set noch jemand weiteres
anschaut und sich nicht alleine auf mein Reviews verlassen wird. Das ist
doch recht umfangreich daher wäre ein weiteres Paar Augen einfach schön.

Gruß

Christian

On 14.04.19 01:25, Adrian Schmutzler wrote:
> 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-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/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-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
>



Mehr Informationen über die Mailingliste franken-dev