Skip to content

Commit

Permalink
Merge branch 'main' into apk
Browse files Browse the repository at this point in the history
  • Loading branch information
spolack authored Dec 6, 2024
2 parents 639c4b8 + a2637ac commit 2f2ff32
Show file tree
Hide file tree
Showing 68 changed files with 209 additions and 267 deletions.
3 changes: 3 additions & 0 deletions .github/checks/check-duplicates.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ for file in $location_files; do
# Check for name duplicates within networks
check_duplicates 'select(.networks != null) | .networks[] | select(.name != null) | .name' "name within networks" "$file"

# Check for ipv6_subprefix duplicates within networks
check_duplicates 'select(.networks != null) | .networks[] | select(.ipv6_subprefix != null) | .ipv6_subprefix' "ipv6_subprefix within networks" "$file"

done

# Exit with a non-zero status code if any errors were found
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The image compilation takes the variables defined by the hosts and location file
e.g. some drivers expect network config concerning the distributed switching architecture, and some use the legacy sw-config format. Based on the predefined roles, core-router, access point, and gateway, a customized set of tasks are executed. The last step is to download the correct OpenWrt-Imagebuilder for the host and give it all generated config files.
The Imagebuilder generates a binary image embedded with the customized config for this one host in the particular location. Flashing this image to a router will set the router after boot directly in the correct operating state. Further, this router will not be able to lose any of its configurations since it is embedded into its image.

If we need someone to reproduce our setup, the person can just generate the image for the involved routers, aka hosts, and provision them. Everyone can reproduce our setup and can work with us on our configurations from all other the world. In the future, it may be possible to abstract the actual router hardware with QEMU opening new interesting use cases.
If we need someone to reproduce our setup, the person can just generate the image for the involved routers, aka hosts, and provision them. Everyone can reproduce our setup and can work with us on our configurations from all over the world. In the future, it may be possible to abstract the actual router hardware with QEMU opening new interesting use cases.

## Developers and Maintainers

Expand Down
4 changes: 2 additions & 2 deletions group_vars/all/general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ freifunk_global_prefix: 2001:bf7::/32
# Default mesh metric in inbound direction (rxcost) for normal mesh links
mesh_metric_default_in: 512

# Default mesh metric in inbound direction (rxcost) for tunnels
mesh_metric_tunnel_in: 1024
# Default mesh metric in all directions for tunnels
mesh_metric_tunnel_in: 3072

# Default mesh metrics in inbound direction (rxcost) for adhoc like interfaces
mesh_metric_adhoc_11a_standard: 2024
Expand Down
4 changes: 3 additions & 1 deletion group_vars/role_corerouter/imageprofile.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
---
role_corerouter__packages__to_merge:
- bird2
- bird2-babelpatch
- bird2c
- bgpdisco
- bgpdisco-plugin-nameservice
- collectd-mod-dhcpleases
- collectd-mod-olsrd
- collectd-mod-conntrack
Expand Down
2 changes: 1 addition & 1 deletion group_vars/role_gateway/general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ wireguard_wg_pub: '/etc/wireguard/wg.pub'
# If it is set wireguard_wg_key and wireguard_wg_pub are not used.
wireguard_wg_tmp_key: false

gre_metric: 64
gre_metric: 256 # Match default RX Cost


## FIREWALL SECTION
Expand Down
4 changes: 3 additions & 1 deletion group_vars/role_gateway/imageprofile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ role_uplink_gw__packages__to_merge:
- luci-app-falter-owm-gui
- iptables-mod-ipopt
- kmod-ipt-ipopt
- bird2
- bird2-babelpatch
- bird2c
- bgpdisco
- bgpdisco-plugin-nameservice
- ip-full
- gre
- wireguard-tools
Expand Down
9 changes: 9 additions & 0 deletions locations/bht.yml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ networks:
prefix: 10.230.23.128/32
ipv6_subprefix: -10
ptp: true
# Prefer routing via perleberger36 over segen
mesh_metric: 1024
mesh_metric_lqm: ['default 0.2']

Expand All @@ -149,6 +150,9 @@ networks:
prefix: 10.230.23.129/32
ipv6_subprefix: -11
ptp: true
# Prefer routing via perleberger36 over segen, chris, mela, weidenbaum
mesh_metric: 256


- vid: 12
role: mesh
Expand All @@ -173,6 +177,9 @@ networks:
name: mesh_jup
prefix: 10.230.23.133/32
ipv6_subprefix: -15
# Set metrics similar as for mesh_segen so path via jup is always worse
mesh_metric: 1024
mesh_metric_lqm: ['default 0.25']

- vid: 16
role: mesh
Expand All @@ -197,6 +204,8 @@ networks:
name: mesh_west
prefix: 10.230.23.137/32
ipv6_subprefix: -19
# Prefer routing via perleberger36 over chris, mela, weidenbaum
mesh_metric: 1024

- vid: 40
role: dhcp
Expand Down
2 changes: 0 additions & 2 deletions locations/bilgi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ networks:
mesh_ap: bilgi-core
mesh_radio: 11a_standard
mesh_iface: mesh
mesh_metric: 1024

- vid: 21
role: mesh
Expand All @@ -42,7 +41,6 @@ networks:
mesh_ap: bilgi-core
mesh_radio: 11g_standard
mesh_iface: mesh
mesh_metric: 1024

- vid: 40
role: dhcp
Expand Down
4 changes: 0 additions & 4 deletions locations/chris.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ networks:
name: 11s_n_2ghz
prefix: 10.230.18.167/32
ipv6_subprefix: -7
mesh_metric: 1024
mesh_ap: chris-n-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand All @@ -115,7 +114,6 @@ networks:
name: 11s_o_2ghz
prefix: 10.230.18.169/32
ipv6_subprefix: -9
mesh_metric: 1024
mesh_ap: chris-o-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand All @@ -125,7 +123,6 @@ networks:
name: 11s_s_2ghz
prefix: 10.230.18.170/32
ipv6_subprefix: -10
mesh_metric: 1024
mesh_ap: chris-s-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand All @@ -135,7 +132,6 @@ networks:
name: 11s_w_2ghz
prefix: 10.230.18.171/32
ipv6_subprefix: -11
mesh_metric: 1024
mesh_ap: chris-w-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand Down
1 change: 0 additions & 1 deletion locations/colbe15.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ networks:
name: mesh_scharni
prefix: 10.31.52.237/32
ipv6_subprefix: -3
mesh_metric: 2048
mesh_ap: colbe15-ap1
mesh_radio: 11a_standard
mesh_iface: mesh
Expand Down
3 changes: 1 addition & 2 deletions locations/cralle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,7 @@ networks:
name: mesh_2ghz
prefix: 10.31.113.89/32
ipv6_subprefix: -2
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: cralle-core
mesh_radio: 11g_standard
Expand Down
3 changes: 1 addition & 2 deletions locations/dragonkiez-adlerhalle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ networks:
name: mesh_2ghz
prefix: 10.31.23.32/32
ipv6_subprefix: -3
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: dragonkiez-adlerhalle
mesh_radio: 11g_standard
Expand Down
6 changes: 2 additions & 4 deletions locations/dragonkiez-dorfplatz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,7 @@ networks:
name: mesh_2ghz
prefix: 10.31.28.245/32
ipv6_subprefix: -3
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: dragonkiez-dorfplatz
mesh_radio: 11g_standard
Expand All @@ -92,8 +91,7 @@ networks:
name: mesh2_ap1
prefix: 10.31.28.247/32
ipv6_subprefix: -5
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: dragonkiez-dorfplatz-ap1
mesh_radio: 11g_standard
Expand Down
3 changes: 1 addition & 2 deletions locations/dragonkiez-kiezraum.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ networks:
name: mesh_2ghz
prefix: 10.31.92.242/32
ipv6_subprefix: -3
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: dragonkiez-kiezraum
mesh_radio: 11g_standard
Expand Down
6 changes: 2 additions & 4 deletions locations/dragonkiez-rathausblock-miami.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ networks:
name: mesh2_ap1
prefix: 10.31.30.25/32
ipv6_subprefix: -3
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: dragonkiez-rathausblock-miami-ap1
mesh_radio: 11g_standard
Expand All @@ -97,8 +96,7 @@ networks:
name: mesh2_ap2
prefix: 10.31.30.27/32
ipv6_subprefix: -5
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: dragonkiez-rathausblock-miami-ap2
mesh_radio: 11g_standard
Expand Down
3 changes: 1 addition & 2 deletions locations/e16outdoor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ networks:
name: mesh_11s_2ghz
prefix: 10.31.142.33/32
ipv6_subprefix: -21
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: e16outdoor-core
mesh_radio: 11g_standard
Expand Down
3 changes: 1 addition & 2 deletions locations/eberswalder7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ networks:
name: mesh_11s_2g
prefix: 10.31.238.210/32
ipv6_subprefix: -21
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.5']
mesh_ap: eberswalder7-core
mesh_radio: 11g_standard
Expand Down
3 changes: 1 addition & 2 deletions locations/elsekiehl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,7 @@ networks:
name: mesh_11s_2ghz
prefix: 10.31.179.33/32
ipv6_subprefix: -2
# make mesh_metric(s) for 2GHz worse than 5GHz
mesh_metric: 1024
# make mesh_metric for 2GHz worse than 5GHz
mesh_metric_lqm: ['default 0.8']
mesh_ap: elsekiehl-core
mesh_radio: 11g_standard
Expand Down
4 changes: 0 additions & 4 deletions locations/fffw-lebenshilfe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ networks:
name: mesh_nno
prefix: 10.30.96.43/32
ipv6_subprefix: -1
mesh_metric: 1024
mesh_ap: fffw-lebenshilfe-nno-ap-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand All @@ -66,7 +65,6 @@ networks:
name: mesh_nw
prefix: 10.30.96.44/32
ipv6_subprefix: -2
mesh_metric: 1024
mesh_ap: fffw-lebenshilfe-nw-ap-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand All @@ -76,7 +74,6 @@ networks:
name: mesh_sso
prefix: 10.30.96.45/32
ipv6_subprefix: -3
mesh_metric: 1024
mesh_ap: fffw-lebenshilfe-sso-ap-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand All @@ -86,7 +83,6 @@ networks:
name: mesh_ono
prefix: 10.30.96.46/32
ipv6_subprefix: -4
mesh_metric: 1024
mesh_ap: fffw-lebenshilfe-ono-ap-2ghz
mesh_radio: 11g_standard
mesh_iface: mesh
Expand Down
3 changes: 1 addition & 2 deletions locations/funkigel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,7 @@ networks:
name: mesh_2g
prefix: 10.248.9.210/32
ipv6_subprefix: -21
# make mesh_metric(s) for 2.4 GHz worse than 5 GHz
mesh_metric: 1024
# make mesh_metric for 2.4 GHz worse than 5 GHz
mesh_metric_lqm: ['default 0.5']
mesh_ap: funkigel
mesh_radio: 11g_standard
Expand Down
3 changes: 0 additions & 3 deletions locations/gruni73.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ networks:
name: mesh_11s_o5
prefix: 10.31.156.40/32
ipv6_subprefix: -6
mesh_metric: 1024
mesh_ap: gruni73-nf-o-5ghz
mesh_radio: 11a_standard
mesh_iface: mesh
Expand All @@ -109,7 +108,6 @@ networks:
name: mesh_11s_s5
prefix: 10.31.156.41/32
ipv6_subprefix: -7
mesh_metric: 1024
mesh_ap: gruni73-nf-s-5ghz
mesh_radio: 11a_standard
mesh_iface: mesh
Expand All @@ -120,7 +118,6 @@ networks:
name: mesh_11s_w5
prefix: 10.31.156.42/32
ipv6_subprefix: -8
mesh_metric: 1024
mesh_ap: gruni73-nf-w-5ghz
mesh_radio: 11a_standard
mesh_iface: mesh
Expand Down
1 change: 0 additions & 1 deletion locations/habersaath.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ networks:
mesh_ap: habersaath-w-nf-5ghz
mesh_radio: 11a_standard
mesh_iface: mesh
mesh_metric: 1024
mesh_metric_lqm:
- default 0.12 # Penalty so local uplink is preferred

Expand Down
8 changes: 3 additions & 5 deletions locations/hirschhof.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ networks:
name: mesh_5ghz
prefix: 10.31.159.128/32
ipv6_subprefix: -20
# make mesh_metric(s) for 2GHz omni worse than 2GHz directional
mesh_metric: 1024
# make mesh_metric for 2GHz omni worse than 2GHz directional
mesh_metric_lqm: ['default 0.8']
mesh_ap: hirschhof-core
mesh_radio: 11a_standard
Expand All @@ -45,8 +44,7 @@ networks:
name: mesh_2ghz
prefix: 10.31.159.129/32
ipv6_subprefix: -21
# make mesh_metric(s) for 2GHz omni worse than 5GHz omni
mesh_metric: 2048
# make mesh_metric for 2GHz omni worse than 5GHz omni
mesh_metric_lqm: ['default 0.6']
mesh_ap: hirschhof-core
mesh_radio: 11g_standard
Expand All @@ -58,7 +56,7 @@ networks:
name: mesh_k12
prefix: 10.31.159.130/32
ipv6_subprefix: -22
# adjust mesh_metric(s) to prefer this route
# adjust mesh_metric to prefer this route
mesh_metric: 512
mesh_ap: hirschhof-k12
mesh_radio: 11g_standard
Expand Down
5 changes: 2 additions & 3 deletions locations/huette.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ hosts:
role: corerouter
model: "zyxel_nwa55axe"
wireless_profile: freifunk_default
openwrt_version: snapshot
openwrt_version: 24.10-SNAPSHOT
log_size: 1024

ipv6_prefix: '2001:bf7:830:2600::/56'
Expand Down Expand Up @@ -44,8 +44,7 @@ networks:
# name: mesh_11s_2ghz
# prefix: 10.31.114.2/32
# ipv6_subprefix: -21
# # make mesh_metric(s) for 2GHz worse than 5GHz
# mesh_metric: 1024
# # make mesh_metric for 2GHz worse than 5GHz
# mesh_metric_lqm: ['default 0.8']
# mesh_ap: huette-core
# mesh_radio: 11g_standard
Expand Down
2 changes: 1 addition & 1 deletion locations/hway.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ hosts:
role: ap
wireless_profile: hway
model: zyxel_nwa50ax
openwrt_version: snapshot
openwrt_version: 24.10-SNAPSHOT
log_size: 1024

snmp_devices:
Expand Down
2 changes: 0 additions & 2 deletions locations/jup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ networks:
name: mesh_bht
prefix: 10.31.147.128/32
ipv6_subprefix: -1
mesh_metric: 2048
mesh_metric_lqm: ['default 0.25']
ptp: true

- vid: 11
Expand Down
Loading

0 comments on commit 2f2ff32

Please sign in to comment.