[RFC PATCH v1 3/4] fff-hoods: call reload_config after uci commit

Tim Niemeyer tim at tn-x.org
So Jun 10 11:44:54 CEST 2018


Am Sonntag, den 10.06.2018, 08:31 +0200 schrieb Christian Dresel:
> Hallo
> 
> ich werde nicht schlau was reload_config macht, kannst du das evtl.
> genauer erklären?

Am besten du schaust mal kurz die beiden Links an:

Hier wird erklärt, wieso das wichtig ist:
https://wiki.openwrt.org/inbox/procd-init-scripts#procd_triggers_on_config_filenetwork_interface_changes

Hier ist die Funktion beschrieben:
https://github.com/openwrt-mirror/openwrt/blob/master/package/system/procd/files/reload_config

Zusammenfassend:
Wenn ein procd-Init-Script angemeldet hat, dass es gerne bei config-
Änderung benachrichtigt wird, dann wird das durch reload_config erst
ausgelöst. Die Änderung der Dateien reicht nicht.
Im original OpenWRT mit LUCI kennt man das auch, weil es dort ein
Speichern und separat ein Übernehmen gibt.

Generell sollten wir mMn überall auf diesen Mechanismus setzen und
nirgends die Init-Scripte selber reloaden/restarten.


>  Kleinigkeit noch Inline:
> 
> On 03.04.2018 21:27, Tim Niemeyer wrote:
> > Signed-off-by: Tim Niemeyer <tim at tn-x.org>
> > ---
> > 
> >  src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/src/packages/fff/fff-
> > hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-
> > hoods/files/usr/sbin/configurehood
> > index a825eea..2672cfa 100755
> > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > @@ -56,6 +56,7 @@ if [ -s "$hoodfilecopy" ] && isGatewayAvailable ;
> > then
> >  		uci set network.${iface}.proto='static'
> >  		uci set network.${iface}.ip6addr='fe80::1/64'
> >  		uci commit network
> 
> wir haben überall -q nur hier nicht. Hat das einen Grund? Ist mir
> hier
> beim drüber schauen das erste mal aufgefallen. Eventuell können wir
> das
> gleich mit anpassen (falls es eine v2 bzw. ein nicht-RFC geben
> sollte)
> oder wegen mir auch in nen extra Patch.
Vermutlich ja. Aber das ist vermutlich ein Teil, den Fabian in seinem
Patchset verschiebt. Wenn ich das jetzt anpasse, gibts wieder Ärger
beim Fabian. Also lieber erst ändern, wenn die beiden Patchsets durch
sind. Sollten wir aber im Hinterkopf behalten.

Tim

> 
> mfg
> 
> Christian
> 
> > +		reload_config
> >  		if ! wifiAddAP "$radio"
> > "config.franken.freifunk.net" "$iface" "configap" "1"; then
> >  			echo "Can't add Config interface on
> > $radio."
> >  			exit 1
> > @@ -101,6 +102,7 @@ else
> >  
> >  			uci -q set "system. at system[0].hood="
> >  			uci -q commit system
> > +			reload_config
> >  		
> >  			sleep 30 # Wait for the config AP, which
> > may be created at the same time as this script has started
> >  
> > @@ -127,6 +129,7 @@ else
> >  					uci -q set
> > network.configSta=interface
> >  					uci -q set
> > network.configSta.proto='static'
> >  					uci -q commit network
> > +					reload_config
> >  				fi
> >  			done
> >  		
> > @@ -232,6 +235,7 @@ if [ -s "$hoodfile" ]; then
> >  		echo "Setting hood name: $hood"
> >  		uci -q set "system. at system[0].hood=$hood"
> >  		uci -q commit system
> > +		reload_config
> >  
> >  		if ! wifiDelIface; then
> >  			echo "Can't delete current wifi setup"
> > 
> 
> 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180610/94bed7c8/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev