[2/2] Add fff-ra package

Submitted by Fabian Blaese on Jan. 28, 2019, 5:08 p.m.

Details

Message ID 20190128170850.52439-2-fabian@blaese.de
State Accepted
Headers show

Commit Message

Fabian Blaese Jan. 28, 2019, 5:08 p.m.
Signed-off-by: Fabian Bläse <fabian@blaese.de>
---
 src/packages/fff/fff-ra/Makefile              | 40 +++++++++++++++++++
 .../fff-ra/files/etc/uci-defaults/90-fff-ra   | 11 +++++
 2 files changed, 51 insertions(+)
 create mode 100644 src/packages/fff/fff-ra/Makefile
 create mode 100644 src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-ra/Makefile b/src/packages/fff/fff-ra/Makefile
new file mode 100644
index 0000000..64b02ea
--- /dev/null
+++ b/src/packages/fff/fff-ra/Makefile
@@ -0,0 +1,40 @@ 
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fff-ra
+PKG_VERSION:=1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/fff-ra
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/fff-ra
+    SECTION:=base
+    CATEGORY:=Freifunk
+    TITLE:=Freifunk-Franken Router Advertisements
+    URL:=https://www.freifunk-franken.de
+    DEPENDS:=+odhcpd
+endef
+
+define Package/fff-ra/description
+    This is the fff-ra for the Freifunk Franken Firmware
+    It is used to configure odhcpd to send Router Advertisements for use as gateway.
+endef
+
+define Build/Prepare
+    echo "all: " > $(PKG_BUILD_DIR)/Makefile
+endef
+
+define Build/Configure
+    # nothing
+endef
+
+define Build/Compile
+    # nothing
+endef
+
+define Package/fff-ra/install
+    $(CP) ./files/* $(1)/
+endef
+
+$(eval $(call BuildPackage,fff-ra))
diff --git a/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
new file mode 100644
index 0000000..0a1c446
--- /dev/null
+++ b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
@@ -0,0 +1,11 @@ 
+#!/bin/sh
+
+uci batch <<EOF
+	set dhcp.mesh=dhcp
+	set dhcp.mesh.interface='mesh'
+	set dhcp.mesh.ra='server'
+	set dhcp.mesh.ra_default='2'
+	set dhcp.mesh.ra_management='0'
+EOF
+
+exit 0

Comments

Adrian Schmutzler Jan. 29, 2019, 12:04 a.m.
Hallo,

hier würde mich schon ausführlicher interessieren: Warum eine eigene Package?

Fände ich auch schön, wenn man das in die Commit-Message schreibt.

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> Of Fabian Bläse
> Sent: Montag, 28. Januar 2019 18:09
> To: franken-dev@freifunk.net
> Subject: [PATCH 2/2] Add fff-ra package
> 
> Signed-off-by: Fabian Bläse <fabian@blaese.de>
> ---
>  src/packages/fff/fff-ra/Makefile              | 40 +++++++++++++++++++
>  .../fff-ra/files/etc/uci-defaults/90-fff-ra   | 11 +++++
>  2 files changed, 51 insertions(+)
>  create mode 100644 src/packages/fff/fff-ra/Makefile  create mode 100644
> src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> 
> diff --git a/src/packages/fff/fff-ra/Makefile b/src/packages/fff/fff-
> ra/Makefile
> new file mode 100644
> index 0000000..64b02ea
> --- /dev/null
> +++ b/src/packages/fff/fff-ra/Makefile
> @@ -0,0 +1,40 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=fff-ra
> +PKG_VERSION:=1
> +PKG_RELEASE:=1
> +
> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-ra
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/fff-ra
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    TITLE:=Freifunk-Franken Router Advertisements
> +    URL:=https://www.freifunk-franken.de
> +    DEPENDS:=+odhcpd
> +endef
> +
> +define Package/fff-ra/description
> +    This is the fff-ra for the Freifunk Franken Firmware
> +    It is used to configure odhcpd to send Router Advertisements for use as
> gateway.
> +endef
> +
> +define Build/Prepare
> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile endef
> +
> +define Build/Configure
> +    # nothing
> +endef
> +
> +define Build/Compile
> +    # nothing
> +endef
> +
> +define Package/fff-ra/install
> +    $(CP) ./files/* $(1)/
> +endef
> +
> +$(eval $(call BuildPackage,fff-ra))
> diff --git a/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> new file mode 100644
> index 0000000..0a1c446
> --- /dev/null
> +++ b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> @@ -0,0 +1,11 @@
> +#!/bin/sh
> +
> +uci batch <<EOF
> +	set dhcp.mesh=dhcp
> +	set dhcp.mesh.interface='mesh'
> +	set dhcp.mesh.ra='server'
> +	set dhcp.mesh.ra_default='2'
> +	set dhcp.mesh.ra_management='0'
> +EOF
> +
> +exit 0
> --
> 2.20.1
Christian Dresel Jan. 29, 2019, 7:43 a.m.
Hallo Fabian

On 28.01.19 18:08, Fabian Bläse wrote:
> Signed-off-by: Fabian Bläse <fabian@blaese.de>
> ---
>  src/packages/fff/fff-ra/Makefile              | 40 +++++++++++++++++++
>  .../fff-ra/files/etc/uci-defaults/90-fff-ra   | 11 +++++
>  2 files changed, 51 insertions(+)
>  create mode 100644 src/packages/fff/fff-ra/Makefile
>  create mode 100644 src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
>
> diff --git a/src/packages/fff/fff-ra/Makefile b/src/packages/fff/fff-ra/Makefile
> new file mode 100644
> index 0000000..64b02ea
> --- /dev/null
> +++ b/src/packages/fff/fff-ra/Makefile
> @@ -0,0 +1,40 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=fff-ra
> +PKG_VERSION:=1
> +PKG_RELEASE:=1
> +
> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-ra
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/fff-ra
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    TITLE:=Freifunk-Franken Router Advertisements
> +    URL:=https://www.freifunk-franken.de
> +    DEPENDS:=+odhcpd
> +endef
> +
> +define Package/fff-ra/description
> +    This is the fff-ra for the Freifunk Franken Firmware
> +    It is used to configure odhcpd to send Router Advertisements for use as gateway.
> +endef
> +
> +define Build/Prepare
> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile
> +endef
> +
> +define Build/Configure
> +    # nothing
> +endef
> +
> +define Build/Compile
> +    # nothing
> +endef
> +
> +define Package/fff-ra/install
> +    $(CP) ./files/* $(1)/
> +endef
> +
> +$(eval $(call BuildPackage,fff-ra))
> diff --git a/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> new file mode 100644
> index 0000000..0a1c446
> --- /dev/null
> +++ b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> @@ -0,0 +1,11 @@
> +#!/bin/sh
> +

im anderen Patch machst du:

   set dhcp.mesh=dhcp
   set dhcp.mesh.interface='mesh'
-  set dhcp.mesh.ra='server'
-  set dhcp.mesh.ra_management='0'
   set dhcp.mesh.leasetime='1h'

> +uci batch <<EOF
> +	set dhcp.mesh=dhcp
> +	set dhcp.mesh.interface='mesh'
> +	set dhcp.mesh.ra='server'
> +	set dhcp.mesh.ra_default='2'
> +	set dhcp.mesh.ra_management='0'

hier fügst du dann aber den ganzen Block neu hinzu. Entsteht die ersten
2 Zeilen dann nicht doppelt? Oder versteh ich das gerade falsch?

Gruß

Christian

> +EOF
> +
> +exit 0
Fabian Blaese Jan. 29, 2019, 9:16 a.m.
Hallo Christian,

On 29.01.19 08:43, Christian Dresel wrote:
> Hallo Fabian
> 
> im anderen Patch machst du:
> 
>    set dhcp.mesh=dhcp
>    set dhcp.mesh.interface='mesh'
> -  set dhcp.mesh.ra='server'
> -  set dhcp.mesh.ra_management='0'
>    set dhcp.mesh.leasetime='1h'
> 
>> +uci batch <<EOF
>> +	set dhcp.mesh=dhcp
>> +	set dhcp.mesh.interface='mesh'
>> +	set dhcp.mesh.ra='server'
>> +	set dhcp.mesh.ra_default='2'
>> +	set dhcp.mesh.ra_management='0'
> 
> hier fügst du dann aber den ganzen Block neu hinzu. Entsteht die ersten
> 2 Zeilen dann nicht doppelt? Oder versteh ich das gerade falsch?
Nein.
Die Pakete sollen voneinander komplett unabhängig bleiben. Schließlich will man später ja mal den DHCP Blödsinn weglassen können.

Daher fügt jedes Paket für den mesh-dhcp Block hinzu, was es für sich selbst braucht.
Wird etwas hinzugefügt, was es schon gibt, wird es überschrieben.

Gruß
Fabian
Fabian Blaese Jan. 29, 2019, 9:18 a.m.
Hallo Adrian,

On 29.01.19 01:04, mail@adrianschmutzler.de wrote:
> Hallo,
> 
> hier würde mich schon ausführlicher interessieren: Warum eine eigene Package?
Aus genau dem gleichen Grund, warum es auch ein Package für die DHCP Konfiguration gibt?

Wo würdest du es denn hin packen?

Gruß
Fabian
Christian Dresel Jan. 29, 2019, 9:34 a.m.
hi

On 29.01.19 10:16, Fabian Bläse wrote:
> Hallo Christian,
>
> On 29.01.19 08:43, Christian Dresel wrote:
>> Hallo Fabian
>>
>> im anderen Patch machst du:
>>
>>    set dhcp.mesh=dhcp
>>    set dhcp.mesh.interface='mesh'
>> -  set dhcp.mesh.ra='server'
>> -  set dhcp.mesh.ra_management='0'
>>    set dhcp.mesh.leasetime='1h'
>>
>>> +uci batch <<EOF
>>> +	set dhcp.mesh=dhcp
>>> +	set dhcp.mesh.interface='mesh'
>>> +	set dhcp.mesh.ra='server'
>>> +	set dhcp.mesh.ra_default='2'

ich muss gestehen, ich komm hier mit der Doku nicht ganz mit. Das ist
überall so kurz erklärt (und eine Langfassung finde ich nirgens) das ich
nicht genau verstehe wie das gemeint ist. Ich denke du hast dir da
Gedanken gemacht und kannst mir kurz sagen was es tut?

>>> +	set dhcp.mesh.ra_management='0'
>> hier fügst du dann aber den ganzen Block neu hinzu. Entsteht die ersten
>> 2 Zeilen dann nicht doppelt? Oder versteh ich das gerade falsch?
> Nein.
> Die Pakete sollen voneinander komplett unabhängig bleiben. Schließlich will man später ja mal den DHCP Blödsinn weglassen können.

Allein diese Erklärung hat auch gereicht um Adrian seine Frage für mich
vollständig zu beantworten, so ganz sicher war ich mir hier noch nicht
warum man es trennt aber so macht es natürlich total Sinn.

Reviewed-by: Christian Dresel <fff@chrisi01.de>

Gruß

Christian

>
> Daher fügt jedes Paket für den mesh-dhcp Block hinzu, was es für sich selbst braucht.
> Wird etwas hinzugefügt, was es schon gibt, wird es überschrieben.
>
> Gruß
> Fabian
>
Fabian Blaese Jan. 29, 2019, 9:41 a.m.
Hallo Christian,

On 29.01.19 10:34, Christian Dresel wrote:
>>>    set dhcp.mesh=dhcp
>>>    set dhcp.mesh.interface='mesh'
>>> -  set dhcp.mesh.ra='server'
>>> -  set dhcp.mesh.ra_management='0'
>>>    set dhcp.mesh.leasetime='1h'
>>>
>>>> +uci batch <<EOF
>>>> +	set dhcp.mesh=dhcp
>>>> +	set dhcp.mesh.interface='mesh'
>>>> +	set dhcp.mesh.ra='server'
>>>> +	set dhcp.mesh.ra_default='2'
> 
> ich muss gestehen, ich komm hier mit der Doku nicht ganz mit. Das ist
> überall so kurz erklärt (und eine Langfassung finde ich nirgens) das ich
> nicht genau verstehe wie das gemeint ist. Ich denke du hast dir da
> Gedanken gemacht und kannst mir kurz sagen was es tut?
Was genau möchtest du denn wissen?

> Allein diese Erklärung hat auch gereicht um Adrian seine Frage für mich
> vollständig zu beantworten, so ganz sicher war ich mir hier noch nicht
> warum man es trennt aber so macht es natürlich total Sinn.
Hmm. Ich dachte das wäre offensichtlich.. Gut, jetzt wisst ihr es :-D

Gruß
Fabian
Christian Dresel Jan. 29, 2019, 9:47 a.m.
hi

On 29.01.19 10:41, Fabian Bläse wrote:
> Hallo Christian,
>
> On 29.01.19 10:34, Christian Dresel wrote:
>>>>    set dhcp.mesh=dhcp
>>>>    set dhcp.mesh.interface='mesh'
>>>> -  set dhcp.mesh.ra='server'
>>>> -  set dhcp.mesh.ra_management='0'
>>>>    set dhcp.mesh.leasetime='1h'
>>>>
>>>>> +uci batch <<EOF
>>>>> +	set dhcp.mesh=dhcp
>>>>> +	set dhcp.mesh.interface='mesh'
>>>>> +	set dhcp.mesh.ra='server'
>>>>> +	set dhcp.mesh.ra_default='2'
>> ich muss gestehen, ich komm hier mit der Doku nicht ganz mit. Das ist
>> überall so kurz erklärt (und eine Langfassung finde ich nirgens) das ich
>> nicht genau verstehe wie das gemeint ist. Ich denke du hast dir da
>> Gedanken gemacht und kannst mir kurz sagen was es tut?
> Was genau möchtest du denn wissen?

naja die Doku sagt dazu:

ra_default	integer	0			Override default route
		                                0: default 
                                                1: ignore no public address 
                                                2: ignore all

"Überschreibe default route"

0: default -> was ist denn jetzt default? Bzw. anders gefragt welche
default route wird wann (oder überhaupt?) überschrieben?

2: ignore all -> Was ignoriert er?

Als ganz allgemein versteh ich nicht wirklich was das Ding tut.

Ich könnte jetzt vermuten das ist sowas wie:

0: Client soll default route setzen

1: Client soll default route setzen wenn eine Public v6 da ist (??)

2: Client soll keine default Route setzen

Aber das ist aus den wenigen Infos jetzt nur geraten

Vielleicht liegts auch nur an meinen grottigen Englisch ;)

>
>> Allein diese Erklärung hat auch gereicht um Adrian seine Frage für mich
>> vollständig zu beantworten, so ganz sicher war ich mir hier noch nicht
>> warum man es trennt aber so macht es natürlich total Sinn.
> Hmm. Ich dachte das wäre offensichtlich.. Gut, jetzt wisst ihr es :-D

anscheinend nicht so ganz ;)

Gruß

Christian

>
> Gruß
> Fabian
>
Fabian Blaese Jan. 29, 2019, 9:50 a.m.
Da mehrfach Nachfragen kamen:

This Package adds a router advertisement daemon and
appropriate Freifunk Franken specific configuration for it.

The ra_default option is set to '2' to force the default flag,
even if no default route for ipv6 is present.
This is necessary, because otherwise fc00::/7 targets would be
unreachable, since odhcpd is unable to send specific routes inside a RA.
This won't affect clients ability to reach hosts which have a dual stack
connection, typical network stacks prefer IPv4 over IPv6 ULA when no
public IPv6 address is available.

Ich schicke dafür jetzt mal keine v2, das kann man beim Applien einfach übernehmen, wenn keiner einen Einwand hat.

Gruß
Fabian

On 28.01.19 18:08, Fabian Bläse wrote:
> Signed-off-by: Fabian Bläse <fabian@blaese.de>
> ---
>  src/packages/fff/fff-ra/Makefile              | 40 +++++++++++++++++++
>  .../fff-ra/files/etc/uci-defaults/90-fff-ra   | 11 +++++
>  2 files changed, 51 insertions(+)
>  create mode 100644 src/packages/fff/fff-ra/Makefile
>  create mode 100644 src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> 
> diff --git a/src/packages/fff/fff-ra/Makefile b/src/packages/fff/fff-ra/Makefile
> new file mode 100644
> index 0000000..64b02ea
> --- /dev/null
> +++ b/src/packages/fff/fff-ra/Makefile
> @@ -0,0 +1,40 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=fff-ra
> +PKG_VERSION:=1
> +PKG_RELEASE:=1
> +
> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-ra
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/fff-ra
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    TITLE:=Freifunk-Franken Router Advertisements
> +    URL:=https://www.freifunk-franken.de
> +    DEPENDS:=+odhcpd
> +endef
> +
> +define Package/fff-ra/description
> +    This is the fff-ra for the Freifunk Franken Firmware
> +    It is used to configure odhcpd to send Router Advertisements for use as gateway.
> +endef
> +
> +define Build/Prepare
> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile
> +endef
> +
> +define Build/Configure
> +    # nothing
> +endef
> +
> +define Build/Compile
> +    # nothing
> +endef
> +
> +define Package/fff-ra/install
> +    $(CP) ./files/* $(1)/
> +endef
> +
> +$(eval $(call BuildPackage,fff-ra))
> diff --git a/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> new file mode 100644
> index 0000000..0a1c446
> --- /dev/null
> +++ b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
> @@ -0,0 +1,11 @@
> +#!/bin/sh
> +
> +uci batch <<EOF
> +	set dhcp.mesh=dhcp
> +	set dhcp.mesh.interface='mesh'
> +	set dhcp.mesh.ra='server'
> +	set dhcp.mesh.ra_default='2'
> +	set dhcp.mesh.ra_management='0'
> +EOF
> +
> +exit 0
>
Christian Dresel Jan. 29, 2019, 9:54 a.m.
On 29.01.19 10:50, Fabian Bläse wrote:
> Da mehrfach Nachfragen kamen:
>
> This Package adds a router advertisement daemon and
> appropriate Freifunk Franken specific configuration for it.
>
> The ra_default option is set to '2' to force the default flag,
> even if no default route for ipv6 is present.
> This is necessary, because otherwise fc00::/7 targets would be
> unreachable, since odhcpd is unable to send specific routes inside a RA.
> This won't affect clients ability to reach hosts which have a dual stack
> connection, typical network stacks prefer IPv4 over IPv6 ULA when no
> public IPv6 address is available.
>
> Ich schicke dafür jetzt mal keine v2, das kann man beim Applien einfach übernehmen, wenn keiner einen Einwand hat.

hat meine Frage nun geklärt und ist ok so

Gruß

Christian

>
> Gruß
> Fabian
>
> On 28.01.19 18:08, Fabian Bläse wrote:
>> Signed-off-by: Fabian Bläse <fabian@blaese.de>
>> ---
>>  src/packages/fff/fff-ra/Makefile              | 40 +++++++++++++++++++
>>  .../fff-ra/files/etc/uci-defaults/90-fff-ra   | 11 +++++
>>  2 files changed, 51 insertions(+)
>>  create mode 100644 src/packages/fff/fff-ra/Makefile
>>  create mode 100644 src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
>>
>> diff --git a/src/packages/fff/fff-ra/Makefile b/src/packages/fff/fff-ra/Makefile
>> new file mode 100644
>> index 0000000..64b02ea
>> --- /dev/null
>> +++ b/src/packages/fff/fff-ra/Makefile
>> @@ -0,0 +1,40 @@
>> +include $(TOPDIR)/rules.mk
>> +
>> +PKG_NAME:=fff-ra
>> +PKG_VERSION:=1
>> +PKG_RELEASE:=1
>> +
>> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-ra
>> +
>> +include $(INCLUDE_DIR)/package.mk
>> +
>> +define Package/fff-ra
>> +    SECTION:=base
>> +    CATEGORY:=Freifunk
>> +    TITLE:=Freifunk-Franken Router Advertisements
>> +    URL:=https://www.freifunk-franken.de
>> +    DEPENDS:=+odhcpd
>> +endef
>> +
>> +define Package/fff-ra/description
>> +    This is the fff-ra for the Freifunk Franken Firmware
>> +    It is used to configure odhcpd to send Router Advertisements for use as gateway.
>> +endef
>> +
>> +define Build/Prepare
>> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile
>> +endef
>> +
>> +define Build/Configure
>> +    # nothing
>> +endef
>> +
>> +define Build/Compile
>> +    # nothing
>> +endef
>> +
>> +define Package/fff-ra/install
>> +    $(CP) ./files/* $(1)/
>> +endef
>> +
>> +$(eval $(call BuildPackage,fff-ra))
>> diff --git a/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
>> new file mode 100644
>> index 0000000..0a1c446
>> --- /dev/null
>> +++ b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra
>> @@ -0,0 +1,11 @@
>> +#!/bin/sh
>> +
>> +uci batch <<EOF
>> +	set dhcp.mesh=dhcp
>> +	set dhcp.mesh.interface='mesh'
>> +	set dhcp.mesh.ra='server'
>> +	set dhcp.mesh.ra_default='2'
>> +	set dhcp.mesh.ra_management='0'
>> +EOF
>> +
>> +exit 0
>>
Fabian Blaese Jan. 29, 2019, 9:58 a.m.
Hallo Christian,

woher hast du die Doku denn? OpenWRT sagt dazu:
Default router lifetime in the RA message will be set if default route is present and a global IPv6 address (0) or if default route is present but no global IPv6 address (1) or neither of both conditions (2)

https://openwrt.org/docs/guide-user/base-system/dhcp_configuration#dhcp_pools

Gruß
Fabian

On 29.01.19 10:47, Christian Dresel wrote:
> naja die Doku sagt dazu:
> 
> ra_default	integer	0			Override default route
> 		                                0: default 
>                                                 1: ignore no public address 
>                                                 2: ignore all
> 
> "Überschreibe default route"
> 
> 0: default -> was ist denn jetzt default? Bzw. anders gefragt welche default route wird wann (oder überhaupt?) überschrieben?
> 
> 2: ignore all -> Was ignoriert er?
> 
> Als ganz allgemein versteh ich nicht wirklich was das Ding tut.
> 
> Ich könnte jetzt vermuten das ist sowas wie:
> 
> 0: Client soll default route setzen
> 
> 1: Client soll default route setzen wenn eine Public v6 da ist (??)
> 
> 2: Client soll keine default Route setzen
> 
> Aber das ist aus den wenigen Infos jetzt nur geraten
> 
> Vielleicht liegts auch nur an meinen grottigen Englisch ;)
Christian Dresel Jan. 29, 2019, 10:04 a.m.
On 29.01.19 10:58, Fabian Bläse wrote:
> Hallo Christian,
>
> woher hast du die Doku denn? 

https://oldwiki.archive.openwrt.org/doc/techref/odhcpd

ich hab halt speziell nach odhcpd gesucht, "odhcpd ra_default" bei
google und als 2. Link kommt man auf das alte OpenWRT wiki oder als
erster Link zu odhcpd github ( https://github.com/openwrt/odhcpd ) wo
die gleiche Erklärung drinnen steht

> OpenWRT sagt dazu:
> Default router lifetime in the RA message will be set if default route is present and a global IPv6 address (0) or if default route is present but no global IPv6 address (1) or neither of both conditions (2)
>
> https://openwrt.org/docs/guide-user/base-system/dhcp_configuration#dhcp_pools

das klingt gleich viel aussagekräftiger danke

Gruß

Christian

>
> Gruß
> Fabian
>
> On 29.01.19 10:47, Christian Dresel wrote:
>> naja die Doku sagt dazu:
>>
>> ra_default	integer	0			Override default route
>> 		                                0: default 
>>                                                 1: ignore no public address 
>>                                                 2: ignore all
>>
>> "Überschreibe default route"
>>
>> 0: default -> was ist denn jetzt default? Bzw. anders gefragt welche default route wird wann (oder überhaupt?) überschrieben?
>>
>> 2: ignore all -> Was ignoriert er?
>>
>> Als ganz allgemein versteh ich nicht wirklich was das Ding tut.
>>
>> Ich könnte jetzt vermuten das ist sowas wie:
>>
>> 0: Client soll default route setzen
>>
>> 1: Client soll default route setzen wenn eine Public v6 da ist (??)
>>
>> 2: Client soll keine default Route setzen
>>
>> Aber das ist aus den wenigen Infos jetzt nur geraten
>>
>> Vielleicht liegts auch nur an meinen grottigen Englisch ;)
Adrian Schmutzler Jan. 29, 2019, 11:12 a.m.
Hallo Christian,

"uci set" fügt ja nicht hinzu, sondern greift auf einen ganzen bestimmten Eintrag zu, den es ändert (oder nur dann neu erstellt, wenn er fehlt).

Da hier ja auch mit einem "benannten" Block "mesh" gearbeitet wird, sollte sich bzgl. Verdoppelung kein Problem ergeben.

Unten nochmal einzeln erklärt.

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of
> Christian Dresel
> Sent: Dienstag, 29. Januar 2019 10:35
> To: Fabian Bläse <fabian@blaese.de>; franken-dev@freifunk.net
> Subject: Re: [PATCH 2/2] Add fff-ra package
> 
> hi
> 
> On 29.01.19 10:16, Fabian Bläse wrote:
> > Hallo Christian,
> >
> > On 29.01.19 08:43, Christian Dresel wrote:
> >> Hallo Fabian
> >>
> >> im anderen Patch machst du:
> >>
> >>    set dhcp.mesh=dhcp
> >>    set dhcp.mesh.interface='mesh'
> >> -  set dhcp.mesh.ra='server'
> >> -  set dhcp.mesh.ra_management='0'
> >>    set dhcp.mesh.leasetime='1h'
> >>
> >>> +uci batch <<EOF
> >>> +	set dhcp.mesh=dhcp
Der Typ des Blockes mit dem Namen "mesh" (in der "Datei" dhcp) wird auf dhcp geändert.
> >>> +	set dhcp.mesh.interface='mesh'
Die option interface im Block mit dem Namen "mesh" wird auf "mesh" geändert.
> >>> +	set dhcp.mesh.ra='server'
Die option ra im Block mit dem Namen "mesh" wird auf "server" geändert.
> >>> +	set dhcp.mesh.ra_default='2'
usw.

Grüße

Adrian
> 
> ich muss gestehen, ich komm hier mit der Doku nicht ganz mit. Das ist
> überall so kurz erklärt (und eine Langfassung finde ich nirgens) das ich
> nicht genau verstehe wie das gemeint ist. Ich denke du hast dir da
> Gedanken gemacht und kannst mir kurz sagen was es tut?
> 
> >>> +	set dhcp.mesh.ra_management='0'
> >> hier fügst du dann aber den ganzen Block neu hinzu. Entsteht die ersten
> >> 2 Zeilen dann nicht doppelt? Oder versteh ich das gerade falsch?
> > Nein.
> > Die Pakete sollen voneinander komplett unabhängig bleiben. Schließlich will
> man später ja mal den DHCP Blödsinn weglassen können.
> 
> Allein diese Erklärung hat auch gereicht um Adrian seine Frage für mich
> vollständig zu beantworten, so ganz sicher war ich mir hier noch nicht
> warum man es trennt aber so macht es natürlich total Sinn.
> 
> Reviewed-by: Christian Dresel <fff@chrisi01.de>
> 
> Gruß
> 
> Christian
> 
> >
> > Daher fügt jedes Paket für den mesh-dhcp Block hinzu, was es für sich selbst
> braucht.
> > Wird etwas hinzugefügt, was es schon gibt, wird es überschrieben.
> >
> > Gruß
> > Fabian
> >
Adrian Schmutzler Jan. 29, 2019, 11:28 a.m.
Ja, ist so okay.

 

From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of Fabian Bläse
Sent: Dienstag, 29. Januar 2019 10:50
To: franken-dev@freifunk.net
Subject: Re: [PATCH 2/2] Add fff-ra package

 

Da mehrfach Nachfragen kamen: 

This Package adds a router advertisement daemon and 
appropriate Freifunk Franken specific configuration for it. 

The ra_default option is set to '2' to force the default flag, 
even if no default route for ipv6 is present. 
This is necessary, because otherwise fc00::/7 targets would be 
unreachable, since odhcpd is unable to send specific routes inside a RA. 
This won't affect clients ability to reach hosts which have a dual stack 
connection, typical network stacks prefer IPv4 over IPv6 ULA when no 
public IPv6 address is available. 

Ich schicke dafür jetzt mal keine v2, das kann man beim Applien einfach übernehmen, wenn keiner einen Einwand hat. 

Gruß 
Fabian 

On 28.01.19 18:08, Fabian Bläse wrote: 
> Signed-off-by: Fabian Bläse <fabian@blaese.de <mailto:fabian@blaese.de> > 
> --- 
>  src/packages/fff/fff-ra/Makefile              | 40 +++++++++++++++++++ 
>  .../fff-ra/files/etc/uci-defaults/90-fff-ra   | 11 +++++ 
>  2 files changed, 51 insertions(+) 
>  create mode 100644 src/packages/fff/fff-ra/Makefile 
>  create mode 100644 src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra 
> 
> diff --git a/src/packages/fff/fff-ra/Makefile b/src/packages/fff/fff-ra/Makefile 
> new file mode 100644 
> index 0000000..64b02ea 
> --- /dev/null 
> +++ b/src/packages/fff/fff-ra/Makefile 
> @@ -0,0 +1,40 @@ 
> +include $(TOPDIR)/rules.mk 
> + 
> +PKG_NAME:=fff-ra 
> +PKG_VERSION:=1 
> +PKG_RELEASE:=1 
> + 
> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-ra 
> + 
> +include $(INCLUDE_DIR)/package.mk 
> + 
> +define Package/fff-ra 
> +    SECTION:=base 
> +    CATEGORY:=Freifunk 
> +    TITLE:=Freifunk-Franken Router Advertisements 
> +    URL:=https://www.freifunk-franken.de 
> +    DEPENDS:=+odhcpd 
> +endef 
> + 
> +define Package/fff-ra/description 
> +    This is the fff-ra for the Freifunk Franken Firmware 
> +    It is used to configure odhcpd to send Router Advertisements for use as gateway. 
> +endef 
> + 
> +define Build/Prepare 
> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile 
> +endef 
> + 
> +define Build/Configure 
> +    # nothing 
> +endef 
> + 
> +define Build/Compile 
> +    # nothing 
> +endef 
> + 
> +define Package/fff-ra/install 
> +    $(CP) ./files/* $(1)/ 
> +endef 
> + 
> +$(eval $(call BuildPackage,fff-ra)) 
> diff --git a/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra

> new file mode 100644 
> index 0000000..0a1c446 
> --- /dev/null 
> +++ b/src/packages/fff/fff-ra/files/etc/uci-defaults/90-fff-ra 
> @@ -0,0 +1,11 @@ 
> +#!/bin/sh 
> + 
> +uci batch <<EOF 
> +     set dhcp.mesh=dhcp 
> +     set dhcp.mesh.interface='mesh' 
> +     set dhcp.mesh.ra='server' 
> +     set dhcp.mesh.ra_default='2' 
> +     set dhcp.mesh.ra_management='0' 
> +EOF 
> + 
> +exit 0 
>
Adrian Schmutzler Jan. 29, 2019, 9:29 p.m.
Applied.

 

From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of Fabian Bläse
Sent: Dienstag, 29. Januar 2019 10:16
To: fff@chrisi01.de; franken-dev@freifunk.net
Subject: Re: [PATCH 2/2] Add fff-ra package

 

Hallo Christian, 

On 29.01.19 08:43, Christian Dresel wrote: 
> Hallo Fabian 
> 
> im anderen Patch machst du: 
> 
>    set dhcp.mesh=dhcp 
>    set dhcp.mesh.interface='mesh' 
> -  set dhcp.mesh.ra='server' 
> -  set dhcp.mesh.ra_management='0' 
>    set dhcp.mesh.leasetime='1h' 
> 
>> +uci batch <<EOF 
>> +    set dhcp.mesh=dhcp 
>> +    set dhcp.mesh.interface='mesh' 
>> +    set dhcp.mesh.ra='server' 
>> +    set dhcp.mesh.ra_default='2' 
>> +    set dhcp.mesh.ra_management='0' 
> 
> hier fügst du dann aber den ganzen Block neu hinzu. Entsteht die ersten 
> 2 Zeilen dann nicht doppelt? Oder versteh ich das gerade falsch? 
Nein. 
Die Pakete sollen voneinander komplett unabhängig bleiben. Schließlich will man später ja mal den DHCP Blödsinn weglassen können.

Daher fügt jedes Paket für den mesh-dhcp Block hinzu, was es für sich selbst braucht. 
Wird etwas hinzugefügt, was es schon gibt, wird es überschrieben. 

Gruß 
Fabian