[PATCH 0/8] Reorganize network initialization

Adrian Schmutzler mail at adrianschmutzler.de
Fr Apr 12 15:01:29 CEST 2019


Hallo Fabian,

 

danke für die Rückmeldung.

 

Bezüglich der Gatewayfirmware stellt sich ja ohnehin die Frage, wie man das ganze Netzwerksetup macht, wenn ihr kein Batman mehr mit reinnehmen wollt. Die ganze fff-network baut ja auf br-mesh auf.

 

Ggf. will man dann für die GW-Firmware ohne Batman eine ganz eigene Netzwerk-Package. Wenn man es kritisch betrachtet, sind nämlich fast alle Schritte spezifisch für br-mesh: ROUTERMAC für br-mesh setzen, ETHMESHMAC für ethmesh setzen, port-setup BATMAN vs. CLIENT etc.

Das einzige, was bleibt, sind die fdff-Adressen. Die Ports schreibt die GW-Firmware ja auch selbst weg.

 

Ich bin diesbezüglich noch zu keinem Entschluss gekommen, insbesondere da die beiden Firmware-Varianten (node vs. GW) nicht zu sehr auseinanderlaufen sollten und ich selbst ja ohnehin eine GW-Firmware mit Batman bauen werde.

 

Nur als Denkanstoß …

 

Beste Grüße

 

Adrian

 

From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of Fabian Bläse
Sent: Freitag, 12. April 2019 14:50
To: Adrian Schmutzler <freifunk at adrianschmutzler.de>; franken-dev at freifunk.net
Subject: Re: [PATCH 0/8] Reorganize network initialization

 

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 HTML-Daten wurde abgetrennt...
URL: <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190412/273af003/attachment.html>
-------------- 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/20190412/273af003/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev