Compare commits

...

91 Commits

Author SHA1 Message Date
Fabian Bläse fcc8119906 bsp/x86-64: Include vmxnet3 driver
ci/woodpecker/push/woodpecker Pipeline was successful Details
2 months ago
Fabian Bläse d9d2612f3c build_patches: Add patch to fix wdr4900 wifi interface configuration
2 months ago
Fabian Bläse 0e62ca5307 fff-dhcp: Do not generate dns records for local hostname
ci/woodpecker/push/woodpecker Pipeline was successful Details
2 months ago
Fabian Bläse d34438d8b1 build_patches: Add support for EON EN25QX128A
2 months ago
Robert Langhammer 306ed093f7 tools/dep-tree
2 months ago
Fabian Bläse 2085c5e4af fff-babel: Use bird2 implementation by default
2 months ago
Fabian Bläse e695b2a87a OpenWrt: bump to v21.02.5
3 months ago
Fabian Bläse 0d06be1749 OpenWrt: bump to v21.02.3
ci/woodpecker/push/woodpecker Pipeline was successful Details
6 months ago
Fabian Bläse bdfdbba76a fff-layer3-config: return error values in functions instead of terminating
6 months ago
Fabian Bläse baca28ece3 fff-web-ui: fix port selection for TWO_PORT devices
6 months ago
Johannes Kimmel 9bc3690cbd fff-babel-bird2: fix filter for router ip imports
6 months ago
Robert Langhammer e6efc9671a fff-web-ui: fix redirection of stderr
6 months ago
Fabian Bläse a62f7cdf96 fff-web-ui: make update notification less ugly
6 months ago
Fabian Bläse daf4467a8a fff-web-ui: do not request unnecessary reboot
6 months ago
Fabian Bläse b81c15d111 fff-web-ui: reconfigure port mode without reboot
6 months ago
Fabian Bläse f8182af459 fff-web-ui: update leaflet to 1.7.1
6 months ago
Adrian Schmutzler 0dfa1140ff buildscript: provide option to set number of threads during build
6 months ago
Fabian Bläse 20d12f943e buildscript: drop md5 checksum
ci/woodpecker/push/woodpecker Pipeline was successful Details
10 months ago
Fabian Bläse 90c58d575b buildscript: fix checksum generation for *.img.gz binaries
10 months ago
Fabian Bläse bc3c0b717d fff-ra: set preferred lifetime smaller than valid lifetime
10 months ago
Robert Langhammer f3b1604ff3 nodewatcher: fix errormessage.
10 months ago
Fabian Bläse 57408f5dfb fff-layer3-config: show uci syntax errors
ci/woodpecker/push/woodpecker Pipeline was successful Details
10 months ago
Fabian Bläse b26399283a fff-ra: use dhcp leasetime for preferred and valid lifetime
10 months ago
Fabian Bläse 20ecca34c0 ci: add woodpecker build pipelines
ci/woodpecker/push/woodpecker Pipeline was successful Details
10 months ago
Fabian Bläse 880d56d52c buildscript: Keep target name for x86
10 months ago
Robert Langhammer 0f67aa2504 nodewatcher: Trigger "WAN Uplink" also with vxlan
10 months ago
Fabian Bläse 4bf14292f7 fff-mqtt: Switch from mosquitto-ssl to mosquitto-nossl
10 months ago
Robert Langhammer 25e227c6b9 fff-vxlan-node: disable vxlan by default
10 months ago
Robert Langhammer a317557320 fff-vxlan-node: disable vxlan if no peers available
10 months ago
Robert Langhammer 4cd3b17714 fff-vxlan-node: do not set vid if GW not reachable
10 months ago
Robert Langhammer 7947107ed3 fff-vxlan-node: reset vid
10 months ago
Robert Langhammer 378163d834 fff-vxlan-node: fix cleanup
10 months ago
Robert Langhammer 405e0a43d5 fff-vxlan: remove uci commit
10 months ago
Fabian Bläse 41b4168290 fff-network: Do not configure switch for ONE and TWO_PORT devices
10 months ago
Fabian Bläse 0234203bed treewide: remove ETHPORT leftovers
10 months ago
Fabian Bläse 240a506ee7 fff-network: convert GL-AR150 to TWOPORT
10 months ago
Fabian Bläse f89503660d Simplify firmware variant selection
10 months ago
Robert Langhammer 7a5bef0d7d fff-fastd: fix fastd start/stop
10 months ago
Robert Langhammer 8e127a3936 fff-vpn-select: do not configure peers on vpn-stop
10 months ago
Christian Dresel 2bc21aa63f fff-layer3: Add latency to nodewatcher
10 months ago
Fabian Bläse a43b37e9f6 fff-babel: Make implementation runtime switchable
10 months ago
Fabian Bläse 803e2746df Add bird2 as selectable babel implementation
10 months ago
Fabian Bläse 71d137d4f1 Add support for different babel implementations
10 months ago
Fabian Bläse 128a748626 Add support for x86_64
11 months ago
Fabian Bläse 9a3b499cae fff-babeld: create filter for prefixes used with snat
11 months ago
Johannes Kimmel 87d923c1ef fff-dhcp: increase dns cachesize
11 months ago
Christian Dresel 0e8c32a363 fff-layer3: add snmp-utils package
11 months ago
Fabian Bläse a5ad4a9b00 fff-config: Set panic on OOM
11 months ago
Fabian Bläse 17bc1a7e62 fff-layer3-config: Always clear client interface list completely
11 months ago
Fabian Bläse 330ed1b52d build_patches: Add hack which fixes forwarding on a stacked bridge
11 months ago
Fabian Bläse 5b23824344 fff-network: Remove hardcoded network config
11 months ago
Fabian Bläse 5424eb728c fff-network: restore accidentally removed packet_steering option
11 months ago
Fabian Bläse 209c9debbf treewide: reorder layer3-specific uci-default scripts
11 months ago
Fabian Bläse 1c3328e64a Remove static configuration from dynamic script
11 months ago
Fabian Bläse a8ce8e1ad6 fff-network: Remove unnecessary restart of fff-uradvd
11 months ago
Fabian Bläse 3f765e4ba7 fff-network: Replace runtime configuration with reload_config
11 months ago
Fabian Bläse 1917c8a1df fff-uradvd: Add reload trigger for network
11 months ago
Fabian Bläse c2f80c9999 OpenWrt: bump to v21.02.2
11 months ago
Adrian Schmutzler 27baecaf37 treewide: set PKG_RELEASE automatically
1 year ago
Christian Dresel 825d760bd8 Add package fff-layer3-snat
1 year ago
Fabian Bläse 51ec3648cf fff-babeld: Simplify CIDR mask removal
1 year ago
Fabian Bläse 8ef6dba5a1 fff-babeld: Only select first list entry from router_ip
1 year ago
Robert Langhammer a6b90f1a83 vxlan-node-vpn: add initial vid
1 year ago
Robert Langhammer 085dbb64fe fff-fastd: Add batman hardif hop_penalty
1 year ago
Robert Langhammer 12f60419cd fff-node: Add package fff-vxlan-node-vpn
1 year ago
Robert Langhammer 1febd2a9b2 fff-vpn-select: Make vpn-select modular
1 year ago
Johannes Kimmel feeead6c43 fff-firewall: remove obsolete rules
1 year ago
Johannes Kimmel 9d745d0d5c fff-layer3-config: add missing -q option for uci get
1 year ago
Fabian Bläse 7c3f3230ff buildscript: Split removal of chipset and subtarget
1 year ago
Fabian Bläse a3d62c7fcc Revert "Retain old compat_version for sysupgrade compatibility"
1 year ago
Fabian Bläse c3cb53ebef buildscript: Generate checksum for *.tar and *.img
1 year ago
Fabian Bläse 40be50311b build_patches: cherry pick kernel bumps to 5.4.163
1 year ago
Fabian Bläse 596a785ebc OpenWrt: bump to v21.02.1
1 year ago
Fabian Bläse 6bf01bb070 fff-mqtt: Remove unnecessary mosquitto server
1 year ago
Fabian Bläse 37c7332555 Fix octeon bsp subtarget build
1 year ago
Johannes Kimmel 450312e237 fff-layer3-config: add rules for router_ip
1 year ago
Fabian Bläse 5e7bdc0548 Drop support for devices with less than 8/64 MB flash/memory
1 year ago
Fabian Bläse de9d4abf44 Retain old compat_version for sysupgrade compatibility
1 year ago
Fabian Bläse a72874f86f fff-network: Remove port override features of network.config
1 year ago
Christian Dresel a2400a6e67 packages/fff: Add package fff-web-mqtt
1 year ago
Christian Dresel 9090702580 packages/fff: Add package fff-mqtt-monitoring
1 year ago
Christian Dresel 7afe5fd767 packages/fff: Add package fff-mqtt
1 year ago
Johannes Kimmel eb4dcf6585 fff-dhcp: PKG_RELEASE bump
1 year ago
Johannes Kimmel 7afe817f7d fff-dhcp: add fallback dns server
1 year ago
Johannes Kimmel 7fd6b40225 fff-dhcp: remove unused dns server entries
1 year ago
Robert Langhammer f8645e494f fff-firewall: Flush all installed tables.
1 year ago
Fabian Bläse 09450bc4b5 Unify package URL in fff-packages
1 year ago
Fabian Bläse 98898659ce fff-network: Add temporary workaround for dsa bridge configuration
1 year ago
Fabian Bläse 984e334adb layer3-config: Add dsa migration script
1 year ago
Fabian Bläse 341d215cf2 layer3-config: Bump required config_version
1 year ago
Fabian Bläse e76a8581d0 Add currently pending patch to fix dsa bridge in bridge configs
1 year ago

@ -0,0 +1,45 @@
clone:
git:
image: woodpeckerci/plugin-git
settings:
tags: true
pipeline:
buildall-layer3:
image: openwrtorg/imagebuilder
commands:
- export HOME=/home/build/openwrt
- sudo chown -R build:build .
- git config --global user.email "ci@fff.community"
- git config --global user.name "FFF CI"
- ./buildscript selectvariant layer3
- ./buildscript selectbsp bsp/ath79-generic.bsp
- ./buildscript prepare
- ./buildscript buildall
buildall-node:
image: openwrtorg/imagebuilder
commands:
- export HOME=/home/build/openwrt
- sudo chown -R build:build .
- git config --global user.email "ci@fff.community"
- git config --global user.name "FFF CI"
- ./buildscript selectvariant node
- ./buildscript selectbsp bsp/ath79-generic.bsp
- ./buildscript prepare
- ./buildscript buildall
distribute:
image: alpine/git
volumes:
- /var/lib/woodpecker/artifacts:/var/run/artifacts
commands:
- rm -rf /var/run/artifacts/$(git describe --tags)
- mkdir -p /var/run/artifacts/$(git describe --tags)
- cp -r bin/* /var/run/artifacts/$(git describe --tags)/
- echo
- echo
- echo "You can download the built firmware images here:"
- echo "https://ci.fff.community/artifacts/$(git describe --tags)"
branches: [ master ]

@ -14,19 +14,11 @@ images=("openwrt-${chipset}-${subtarget}-glinet_gl-ar150-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr3600-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr4300-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wdr4310-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v2-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v3-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043nd-v4-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr1043n-v5-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr710n-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr842n-v2-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_bullet-m-ar7240-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_bullet-m-ar7241-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-loco-m-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-loco-m-xw-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_nanostation-m-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_picostation-m-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_unifi-squashfs-*"
"openwrt-${chipset}-${subtarget}-ubnt_unifiac-mesh-squashfs-*"
)

@ -7,11 +7,11 @@ CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_glinet_gl-ar150=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_glinet_gl-ar150=""
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c25-v1=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c25-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k -ath10k-firmware-qca9887-ct ath10k-firmware-qca9887"
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c25-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k-smallbuffers -ath10k-firmware-qca9887-ct ath10k-firmware-qca9887"
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c60-v1=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v1="-kmod-ath10k-ct-smallbuffers kmod-ath10k-smallbuffers -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c60-v2=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v2="-kmod-ath10k-ct-smallbuffers kmod-ath10k -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c60-v2="-kmod-ath10k-ct-smallbuffers kmod-ath10k-smallbuffers -ath10k-firmware-qca9888-ct ath10k-firmware-qca9888"
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v2=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_generic_DEVICE_tplink_archer-c7-v2="-kmod-ath10k-ct kmod-ath10k -ath10k-firmware-qca988x-ct ath10k-firmware-qca988x"
CONFIG_TARGET_DEVICE_ath79_generic_DEVICE_tplink_archer-c7-v5=y
@ -88,6 +88,7 @@ CONFIG_PACKAGE_wpad-mini=m
CONFIG_PACKAGE_ath10k-firmware-qca9887=m
CONFIG_PACKAGE_ath10k-firmware-qca9888=m
CONFIG_PACKAGE_ath10k-firmware-qca988x=m
CONFIG_PACKAGE_kmod-ath10k-smallbuffers=m
CONFIG_PACKAGE_kmod-ath10k=m
CONFIG_PACKAGE_ath10k-firmware-qca9887-ct=m
CONFIG_PACKAGE_ath10k-firmware-qca9888-ct=m

@ -1,16 +0,0 @@
chipset=ath79
subtarget=tiny
images=("openwrt-${chipset}-${subtarget}-tplink_tl-mr3020-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wa850re-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wa860re-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wa901nd-v2-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr740n-v4-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr741-v1-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr741nd-v4-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v7-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v8-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v9-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v10-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v11-squashfs-*"
"openwrt-${chipset}-${subtarget}-tplink_tl-wr841-v12-squashfs-*"
)

@ -1,56 +0,0 @@
# Generated using "./buildscript config openwrt".
# Do no edit manually
#
CONFIG_TARGET_ath79=y
CONFIG_TARGET_ath79_tiny=y
CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-mr3020-v1=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-mr3020-v1="-uboot-envtools -kmod-usb-core -kmod-usb-chipidea2 -kmod-usb-ledtrig-usbport"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wa850re-v1=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wa850re-v1="-uboot-envtools -rssileds"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wa860re-v1=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wa860re-v1="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wa901nd-v2=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wa901nd-v2="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr740n-v4=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr740n-v4="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr741-v1=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr741-v1="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr741nd-v4=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr741nd-v4="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v7=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v7="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v8=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v8="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v9=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v9="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v10=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v10="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v11=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v11="-uboot-envtools"
CONFIG_TARGET_DEVICE_ath79_tiny_DEVICE_tplink_tl-wr841-v12=y
CONFIG_TARGET_DEVICE_PACKAGES_ath79_tiny_DEVICE_tplink_tl-wr841-v12="-uboot-envtools"
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
# CONFIG_BUSYBOX_CONFIG_CROND is not set
# CONFIG_BUSYBOX_CONFIG_CRONTAB is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_FAST_TOP is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_CLEAN_IPKG=y
# CONFIG_DROPBEAR_CURVE25519 is not set
# CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 is not set
# CONFIG_FASTD_ENABLE_MAC_GHASH is not set
# CONFIG_FASTD_ENABLE_MAC_UHASH is not set
# CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC is not set
# CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC is not set
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set
# CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set
CONFIG_KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE=1
# CONFIG_PACKAGE_ALFRED_VIS is not set
CONFIG_PACKAGE_hostapd-mini=y
CONFIG_PACKAGE_iwinfo=m
CONFIG_PACKAGE_libiwinfo=m
CONFIG_PACKAGE_opkg=m
CONFIG_PACKAGE_wpad-mini=m
CONFIG_STRIP_KERNEL_EXPORTS=y

@ -1,4 +1,5 @@
chipset=octeon
subtarget=generic
images=(
"openwrt-${chipset}-ubnt_edgerouter-4-*"

@ -0,0 +1,4 @@
chipset=x86
subtarget=64
images=("openwrt-${chipset}-${subtarget}-generic-squashfs-combined-*"
)

@ -0,0 +1,19 @@
# Generated using "./buildscript config openwrt".
# Do no edit manually
#
CONFIG_TARGET_x86=y
CONFIG_TARGET_x86_64=y
CONFIG_TARGET_x86_64_DEVICE_generic=y
# CONFIG_TARGET_ROOTFS_EXT4FS is not set
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
# CONFIG_BUSYBOX_CONFIG_BRCTL is not set
# CONFIG_BUSYBOX_CONFIG_CROND is not set
# CONFIG_BUSYBOX_CONFIG_CRONTAB is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_FAST_TOP is not set
# CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_CLEAN_IPKG=y
# CONFIG_PACKAGE_ALFRED_VIS is not set
CONFIG_PACKAGE_kmod-vmxnet3=y
CONFIG_PACKAGE_opkg=m
CONFIG_STRIP_KERNEL_EXPORTS=y

@ -1,72 +0,0 @@
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Wed, 10 Feb 2021 22:53:00 +0100
Subject: mac80211: add back ath10k_pci memory hacks
These hacks have been removed in commit 1e27befe63ff ("mac80211: remove
ath10k_pci memory hacks").
However, since we still use mainline ath10k, we will need them.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
diff --git a/package/kernel/mac80211/patches/ath/960-ath10k-limit-htt-rx-ring-size.patch b/package/kernel/mac80211/patches/ath/960-ath10k-limit-htt-rx-ring-size.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e907c7ab73677a3db928ef3620d77bf22a4d752a
--- /dev/null
+++ b/package/kernel/mac80211/patches/ath/960-ath10k-limit-htt-rx-ring-size.patch
@@ -0,0 +1,11 @@
+--- a/drivers/net/wireless/ath/ath10k/htt.h
++++ b/drivers/net/wireless/ath/ath10k/htt.h
+@@ -236,7 +236,7 @@ enum htt_rx_ring_flags {
+ };
+
+ #define HTT_RX_RING_SIZE_MIN 128
+-#define HTT_RX_RING_SIZE_MAX 2048
++#define HTT_RX_RING_SIZE_MAX 512
+ #define HTT_RX_RING_SIZE HTT_RX_RING_SIZE_MAX
+ #define HTT_RX_RING_FILL_LEVEL (((HTT_RX_RING_SIZE) / 2) - 1)
+ #define HTT_RX_RING_FILL_LEVEL_DUAL_MAC (HTT_RX_RING_SIZE - 1)
diff --git a/package/kernel/mac80211/patches/ath/961-ath10k-limit-pci-buffer-size.patch b/package/kernel/mac80211/patches/ath/961-ath10k-limit-pci-buffer-size.patch
new file mode 100644
index 0000000000000000000000000000000000000000..b5e5c3a9bb00a407096936ece1916e331e0164f5
--- /dev/null
+++ b/package/kernel/mac80211/patches/ath/961-ath10k-limit-pci-buffer-size.patch
@@ -0,0 +1,38 @@
+--- a/drivers/net/wireless/ath/ath10k/pci.c
++++ b/drivers/net/wireless/ath/ath10k/pci.c
+@@ -131,7 +131,7 @@ static const struct ce_attr pci_host_ce_
+ .flags = CE_ATTR_FLAGS,
+ .src_nentries = 0,
+ .src_sz_max = 2048,
+- .dest_nentries = 512,
++ .dest_nentries = 128,
+ .recv_cb = ath10k_pci_htt_htc_rx_cb,
+ },
+
+@@ -140,7 +140,7 @@ static const struct ce_attr pci_host_ce_
+ .flags = CE_ATTR_FLAGS,
+ .src_nentries = 0,
+ .src_sz_max = 2048,
+- .dest_nentries = 128,
++ .dest_nentries = 64,
+ .recv_cb = ath10k_pci_htc_rx_cb,
+ },
+
+@@ -167,7 +167,7 @@ static const struct ce_attr pci_host_ce_
+ .flags = CE_ATTR_FLAGS,
+ .src_nentries = 0,
+ .src_sz_max = 512,
+- .dest_nentries = 512,
++ .dest_nentries = 128,
+ .recv_cb = ath10k_pci_htt_rx_cb,
+ },
+
+@@ -192,7 +192,7 @@ static const struct ce_attr pci_host_ce_
+ .flags = CE_ATTR_FLAGS,
+ .src_nentries = 0,
+ .src_sz_max = 2048,
+- .dest_nentries = 128,
++ .dest_nentries = 96,
+ .recv_cb = ath10k_pci_pktlog_rx_cb,
+ },
+

@ -0,0 +1,106 @@
From 3b63209f03007e755c4a076d0a81a60fdf15dcd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
Date: Wed, 16 Nov 2022 11:41:32 +0100
Subject: [PATCH] generic: add support for EON EN25QX128A spi nor flash
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Add support for EON EN25QX128A spi nor flash with no flags as it does
support SFDP parsing.
Fixes: #9442
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Tested-by: Szabolcs Hubai <szab.hu@gmail.com> [ramips/mt7621: xiaomi_mi-router-4a-gigabit]
[fabian@blaese.de: Backport to Kernel 5.4]
Signed-off-by: Fabian Bläse <fabian@blaese.de>
---
.../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 +++++++++++++++++++
.../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 +++++++++++++++++++
.../477-mtd-spi-nor-add-eon-en25qx128a.patch | 21 +++++++++++++++++++
3 files changed, 63 insertions(+)
create mode 100644 target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch
create mode 100644 target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch
create mode 100644 target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch
diff --git a/target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch b/target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch
new file mode 100644
index 0000000000..0a681d6753
--- /dev/null
+++ b/target/linux/generic/pending-5.10/477-mtd-spi-nor-add-eon-en25qx128a.patch
@@ -0,0 +1,21 @@
+From: Christian Marangi <ansuelsmth@gmail.com>
+Subject: kernel/mtd: add support for EON EN25QX128A
+
+Add support for EON EN25QX128A with no flags as it does
+support SFDP parsing.
+
+Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+---
+ drivers/mtd/spi-nor/spi-nor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/mtd/spi-nor/eon.c
++++ b/drivers/mtd/spi-nor/eon.c
+@@ -15,6 +15,7 @@ static const struct flash_info eon_parts
+ { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
+ { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256,
+ SECT_4K | SPI_NOR_DUAL_READ) },
++ { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) },
+ { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16,
+ SECT_4K | SPI_NOR_DUAL_READ) },
+ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32,
diff --git a/target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch b/target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch
new file mode 100644
index 0000000000..0a681d6753
--- /dev/null
+++ b/target/linux/generic/pending-5.15/477-mtd-spi-nor-add-eon-en25qx128a.patch
@@ -0,0 +1,21 @@
+From: Christian Marangi <ansuelsmth@gmail.com>
+Subject: kernel/mtd: add support for EON EN25QX128A
+
+Add support for EON EN25QX128A with no flags as it does
+support SFDP parsing.
+
+Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+---
+ drivers/mtd/spi-nor/spi-nor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/mtd/spi-nor/eon.c
++++ b/drivers/mtd/spi-nor/eon.c
+@@ -15,6 +15,7 @@ static const struct flash_info eon_parts
+ { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
+ { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256,
+ SECT_4K | SPI_NOR_DUAL_READ) },
++ { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) },
+ { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16,
+ SECT_4K | SPI_NOR_DUAL_READ) },
+ { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32,
diff --git a/target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch b/target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch
new file mode 100644
index 0000000000..0a681d6753
--- /dev/null
+++ b/target/linux/generic/pending-5.4/477-mtd-spi-nor-add-eon-en25qx128a.patch
@@ -0,0 +1,18 @@
+From: Fabian Bläse <fabian@blaese.de>
+Subject: kernel/mtd: add support for EON EN25QX128A
+
+Signed-off-by: Fabian Bläse <fabian@blaese.de>
+---
+ drivers/mtd/spi-nor/spi-nor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -2240,8 +2240,9 @@ static const struct flash_info spi_nor_i
+ { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) },
+ { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
+ { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, SECT_4K) },
++ { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) },
+ { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16,
+ SECT_4K | SPI_NOR_DUAL_READ) },
+ { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) },
--
2.38.1

@ -38,20 +38,20 @@ index ac11655904..147e159ea1 100755
;;
avm,fritzbox-7530 |\
diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network
index 1d4c78833a..ea2cc60186 100755
index 87c79db5e1..666be0d145 100755
--- a/target/linux/ipq40xx/base-files/etc/board.d/02_network
+++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network
@@ -59,9 +59,8 @@ ipq40xx_setup_interfaces()
@@ -58,9 +58,8 @@ ipq40xx_setup_interfaces()
avm,fritzbox-4040|\
linksys,ea6350v3|\
linksys,ea8300|\
linksys,mr8300)
linksys,ea8300)
- ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
- "0u@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
+ "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
;;
avm,fritzbox-7530)
ucidef_add_switch "switch0" \
linksys,mr8300)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h
index 015e5f5026..daa60639d1 100644
--- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.h
@ -80,10 +80,10 @@ index 015e5f5026..daa60639d1 100644
/* Queues exposed to linux kernel */
#define EDMA_NETDEV_TX_QUEUE 4
diff --git a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
index c35ba2799f..0517e4f29e 100644
index 545e3985ae..28453c2363 100644
--- a/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
+++ b/target/linux/ipq40xx/files/drivers/net/phy/ar40xx.c
@@ -1481,6 +1481,7 @@ ar40xx_vlan_init(struct ar40xx_priv *priv)
@@ -1483,6 +1483,7 @@ ar40xx_vlan_init(struct ar40xx_priv *priv)
unsigned long bmp;
/* By default Enable VLAN */
@ -91,7 +91,7 @@ index c35ba2799f..0517e4f29e 100644
priv->vlan = 1;
priv->vlan_table[AR40XX_LAN_VLAN] = priv->cpu_bmp | priv->lan_bmp;
priv->vlan_table[AR40XX_WAN_VLAN] = priv->cpu_bmp | priv->wan_bmp;
@@ -1492,6 +1493,7 @@ ar40xx_vlan_init(struct ar40xx_priv *priv)
@@ -1494,6 +1495,7 @@ ar40xx_vlan_init(struct ar40xx_priv *priv)
bmp = priv->wan_bmp;
for_each_set_bit(port, &bmp, AR40XX_NUM_PORTS)
priv->pvid[port] = AR40XX_WAN_VLAN;
@ -100,7 +100,7 @@ index c35ba2799f..0517e4f29e 100644
return 0;
}
diff --git a/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch b/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
index 7b2ddfe00d..1a01b08e41 100644
index 3567eb7810..b13b312a91 100644
--- a/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
+++ b/target/linux/ipq40xx/patches-5.4/711-dts-ipq4019-add-ethernet-essedma-node.patch
@@ -36,7 +36,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>

@ -0,0 +1,32 @@
From f53b71d2907eeb0d80e79d99fa7b756b5e5bf32b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
Date: Thu, 24 Feb 2022 00:04:47 +0100
Subject: [PATCH] Add hack which fixes forwarding on a stacked bridge
configuration using DSA
---
.../hack-5.4/999-fix-stacked-bridge-forwarding.patch | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 target/linux/generic/hack-5.4/999-fix-stacked-bridge-forwarding.patch
diff --git a/target/linux/generic/hack-5.4/999-fix-stacked-bridge-forwarding.patch b/target/linux/generic/hack-5.4/999-fix-stacked-bridge-forwarding.patch
new file mode 100644
index 0000000000..e1d4cb9cd5
--- /dev/null
+++ b/target/linux/generic/hack-5.4/999-fix-stacked-bridge-forwarding.patch
@@ -0,0 +1,12 @@
+--- a/net/bridge/br_input.c
++++ b/net/bridge/br_input.c
+@@ -52,6 +52,9 @@ static int br_pass_frame_up(struct sk_bu
+ return NET_RX_DROP;
+ }
+
++ /* remove offload flag, so upper bridges do not drop the packet */
++ br_switchdev_frame_unmark(skb);
++
+ indev = skb->dev;
+ skb->dev = brdev;
+ skb = br_handle_vlan(br, NULL, vg, skb);
--
2.35.1

@ -0,0 +1,158 @@
From 7f4b4c29f3489697dca7495216460d0ed5023e02 Mon Sep 17 00:00:00 2001
From: Martin Kennedy <hurricos@gmail.com>
Date: Mon, 29 Aug 2022 20:47:24 -0400
Subject: [PATCH] mpc85xx: Drop pci aliases to avoid domain changes
As of upstream Linux commit 0fe1e96fef0a ("powerpc/pci: Prefer PCI
domain assignment via DT 'linux,pci-domain' and alias"), the PCIe
domain address is no longer numbered by the lowest 16 bits of the PCI
register address after a fallthrough. Instead of the fallthrough, the
enumeration process accepts the alias ID (as determined by
`of_alias_scan()`). This causes e.g.:
9000:00:00.0 PCI bridge: Freescale Semiconductor Inc P1020E (rev 11)
9000:01:00.0 Network controller: Qualcomm Atheros AR958x 802.11abgn ...
to become
0000:00:00.0 PCI bridge: Freescale Semiconductor Inc P1020E (rev 11)
0000:01:00.0 Network controller: Qualcomm Atheros AR958x 802.11abgn ...
... which then causes the sysfs path of the netdev to change,
invalidating the `wifi_device.path`s enumerated in
`/etc/config/wireless`.
One other solution might be to migrate the uci configuration, as was
done for mvebu in commit 0bd5aa89fcf2 ("mvebu: Migrate uci config to
new PCIe path"). However, there are concerns that the sysfs path will
change once again once some upstream patches[^2][^3] are merged and
backported (and `CONFIG_PPC_PCI_BUS_NUM_DOMAIN_DEPENDENT` is enabled).
Instead, remove the aliases and allow the fallthrough to continue for
now. We will provide a migration in a later release.
This was first reported as a Github issue[^1].
[^1]: https://github.com/openwrt/openwrt/issues/10530
[^2]: https://lore.kernel.org/linuxppc-dev/20220706104308.5390-1-pali@kernel.org/t/#u
[^3]: https://lore.kernel.org/linuxppc-dev/20220706101043.4867-1-pali@kernel.org/
Fixes: #10530
Tested-by: Martin Kennedy <hurricos@gmail.com>
[Tested on the Aerohive HiveAP 330 and Extreme Networks WS-AP3825i]
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
---
.../files/arch/powerpc/boot/dts/hiveap-330.dts | 13 +++++++++++++
.../mpc85xx/files/arch/powerpc/boot/dts/panda.dts | 14 ++++++++++++++
.../files/arch/powerpc/boot/dts/red-15w-rev1.dts | 14 ++++++++++++++
.../files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts | 13 +++++++++++++
.../files/arch/powerpc/boot/dts/ws-ap3710i.dts | 13 +++++++++++++
6 files changed, 80 insertions(+)
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts
index ccf60eaeed0e1..d6a8da84ef66d 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts
@@ -300,3 +300,16 @@
};
};
/include/ "fsl/p1020si-post.dtsi"
+
+/*
+ * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
+ * aliases to determine PCI domain numbers, drop aliases so as not to
+ * change the sysfs path of our wireless netdevs.
+ */
+
+/ {
+ aliases {
+ /delete-property/ pci0;
+ /delete-property/ pci1;
+ };
+};
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/panda.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/panda.dts
index baaa4a43fd559..9be822f7bb8ac 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/panda.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/panda.dts
@@ -265,3 +265,17 @@
};
};
/include/ "fsl/p1020si-post.dtsi"
+
+/*
+ * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
+ * aliases to determine PCI domain numbers, drop aliases so as not to
+ * change the sysfs path of our wireless netdevs.
+ */
+
+/ {
+ aliases {
+ /delete-property/ pci0;
+ /delete-property/ pci1;
+ };
+};
+
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts
index 1fd6a4aa49713..db35602b94b5b 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts
@@ -214,3 +214,17 @@
};
/include/ "fsl/p1010si-post.dtsi"
+
+/*
+ * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
+ * aliases to determine PCI domain numbers, drop aliases so as not to
+ * change the sysfs path of our wireless netdevs.
+ */
+
+/ {
+ aliases {
+ /delete-property/ pci0;
+ /delete-property/ pci1;
+ };
+};
+
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
index fbe1c0ee705d2..12281808aa5b6 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
@@ -302,3 +302,16 @@
/delete-node/ crypto@30000; /* Pulled in by p1010si-post */
};
};
+
+/*
+ * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
+ * aliases to determine PCI domain numbers, drop aliases so as not to
+ * change the sysfs path of our wireless netdevs.
+ */
+
+/ {
+ aliases {
+ /delete-property/ pci0;
+ /delete-property/ pci1;
+ };
+};
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts
index c5588d80275e2..5d81da4686413 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/ws-ap3710i.dts
@@ -173,3 +173,16 @@
};
/include/ "fsl/p1020si-post.dtsi"
+
+/*
+ * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
+ * aliases to determine PCI domain numbers, drop aliases so as not to
+ * change the sysfs path of our wireless netdevs.
+ */
+
+/ {
+ aliases {
+ /delete-property/ pci0;
+ /delete-property/ pci1;
+ };
+};

@ -7,15 +7,15 @@ set -o pipefail
builddir=./build
# OpenWrt: package hashes correspond to core repo version
OPENWRTREV="v21.02.0"
PACKAGEREV="65057dcbb5de371503c9159de3d45824bec482e0"
ROUTINGREV="c30c9ffc93702365439a7647244a052531f2e957"
OPENWRTREV="v21.02.5"
PACKAGEREV="0b16e3f359fe9d015861596d63c5bde4c56daa2e"
ROUTINGREV="25e76489c83cfcee61e36a491896e1e9bfc3ec13"
# Gluon packages: master from 2020-02-04
GLUONREV="12e41d0ff07ec54bbd67a31ab50d12ca04f2238c"
OPENWRT_PKGS="gpioctl-sysfs libugpio fastd haserl micrond mtr bmon"
ROUTING_PKGS="kmod-batman-adv batctl alfred babeld"
ROUTING_PKGS="kmod-batman-adv batctl alfred babeld bird2"
GLUON_PKGS="simple-tc uradvd"
FFF_VARIANTS="node layer3"
@ -126,20 +126,9 @@ prepare() {
patch_target
# apply variant to ensure the included file "variant.mk"
# exists in builddir.
apply_variant
update_feeds
}
apply_variant() {
# set the variant for this build
export FFF_VARIANT=$(cat selected_variant)
# force the reevaluation of this Makefile to make note of the new variant
touch ./src/packages/fff/fff/Makefile
}
update_feeds() {
## generate own feeds.conf
#this local variable should be globally configure variable used in get_source and here
@ -174,8 +163,6 @@ update_feeds() {
}
prebuild() {
apply_variant
#create filesdir for our config
/bin/rm -rf "$builddir"/files
mkdir "$builddir"/files
@ -193,6 +180,9 @@ prebuild() {
version="$variant-$version"
fi
# select variant packages
echo "CONFIG_PACKAGE_fff-${variant}=y" >> "$builddir"/.config
{
echo "FIRMWARE_VERSION=\"$version\""
echo "VARIANT=\"$variant\""
@ -218,13 +208,19 @@ build() {
case "$1" in
"debug")
make V=99
if [ -n "$2" ]; then
make V=99 -j $2
else
make V=99
fi
;;
"fast")
ionice -c 2 -- nice -n 1 -- make -j $((cpus*2))
[ -n "$2" ] && threads=$2 || threads=$((cpus*2))
ionice -c 2 -- nice -n 1 -- make -j $threads
;;
*)
ionice -c 3 -- nice -n 10 -- make -j $((cpus+1))
[ -n "$2" ] && threads=$2 || threads=$((cpus+1))
ionice -c 3 -- nice -n 10 -- make -j $threads
;;
esac
@ -290,7 +286,13 @@ cp_firmware() {
filename_build=${f##*/}
filename_build=${filename_build//openwrt/fff-${version}}
filename_build=${filename_build//squashfs-/}
filename_build=${filename_build//${chipset}-${subtarget}-/}
# The x86 OpenWrt target does not have a device name,
# so keep the target and subtarget for identification.
if [ "$chipset" != "x86" ]; then
filename_build=${filename_build//${chipset}-/}
filename_build=${filename_build//${subtarget}-/}
fi
cp "$f" "$imagedestpath/$filename_build"
done
done
@ -316,8 +318,7 @@ buildrelease() {
fi
cd bin/$variant
for binary in *.bin; do
md5sum "$binary" > ./"$binary".md5
for binary in *.bin *.img *.img.gz *.tar; do
sha256sum "$binary" > ./"$binary".sha256
done
echo -e "VERSION:$version" > release.nfo
@ -449,13 +450,13 @@ case "$1" in
"build")
if [ "$2" = "help" ] || [ "$2" = "x" ]; then
echo "This option compiles the firmware"
echo "Normaly the build uses lower IO and System priorities, "
echo "Normally the build uses lower IO and System priorities, "
echo "you can append \"fast\" option, to use normal user priorities"
echo
echo "Usage: $0 $1 [fast|debug]"
echo "Usage: $0 $1 [fast|debug] [numthreads]"
echo
else
build "$2"
build "$2" "$3"
fi
;;
"config")

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-alfred-monitoring-proxy
PKG_RELEASE:=5
PKG_RELEASE:=$(COMMITCOUNT)
include $(INCLUDE_DIR)/package.mk
@ -9,7 +9,7 @@ define Package/fff-alfred-monitoring-proxy
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken Alfred-Monitoring-Proxy
URL:=https://www.freifunk-franken.de/
URL:=https://www.freifunk-franken.de
DEPENDS:=+curl +micrond +alfred-json +fff-alfred +fff-random
endef

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-alfred
PKG_RELEASE:=2
PKG_RELEASE:=$(COMMITCOUNT)
include $(INCLUDE_DIR)/package.mk
@ -9,7 +9,7 @@ define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken Alfred
URL:=http://www.freifunk-franken.de
URL:=https://www.freifunk-franken.de
DEPENDS:=+alfred
endef

@ -0,0 +1,29 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-babel-bird2
PKG_RELEASE:=$(COMMITCOUNT)
include $(INCLUDE_DIR)/package.mk
define Package/fff-babel-bird2
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken babel-bird2
URL:=https://www.freifunk-franken.de
DEPENDS:=+bird2 +bird2c +owipcalc
PROVIDES:=fff-babel-implementation
endef
define Package/fff-babel-bird2/description
This is the Freifunk Franken Firmware babel-bird2 package.
endef
define Build/Compile
# nothing
endef
define Package/fff-babel-bird2/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,fff-babel-bird2))

@ -0,0 +1,123 @@
# router id is not required for babeld, but necessary for bird startup
router id 192.0.2.0;
ipv4 table fff4;
ipv6 sadr table fff6;
protocol device {
scan time 15;
}
# device routes for ipv4 peering address
protocol direct {
ipv4 {
table fff4;
import filter {
include "/tmp/bird/include/nat-filter.conf";
if (net ~ 10.50.0.0/16 || net ~ 10.83.0.0/16) && net.len = 32 then {
accept;
}
reject;
};
};
}
# device routes on loopback interface
protocol direct {
ipv4 {
table fff4;
import filter {
include "/tmp/bird/include/nat-filter.conf";
if net ~ 10.50.0.0/16 || net ~ 10.83.0.0/16 then {
accept;
}
reject;
};
};
ipv6 sadr {
table fff6;
import filter {
if net ~ fdff::/64 from ::/0 then {
reject;
}
# only import GUA + ULA addresses
if net !~ 2000::/3 from ::/0 && net !~ fc00::/7 from ::/0 then {
reject;
}
accept;
};
import keep filtered;
};
interface "lo";
}
# ipv6 kernel route interface
protocol kernel {
ipv6 sadr {
table fff6;
import filter {
# only import routes from kernel with proto static
if krt_source != 4 then {
reject;
}
if net ~ fdff::/64 from ::/0 then {
reject;
}
accept;
};
export all;
preference 200;
};
kernel table 10;
scan time 15;
learn yes;
}
# ipv4 kernel route interface
protocol kernel {
ipv4 {
table fff4;
import filter {
include "/tmp/bird/include/nat-filter.conf";
# only import routes from kernel with proto static
if krt_source = 4 then {
accept;
}
reject;
};
export all;
preference 200;
};
kernel table 10;
scan time 15;
learn yes;
}
protocol babel {
# required due to static configuration of global router id.
# also improves reconnect speed after restart.
randomize router id yes;
ipv4 {
table fff4;
import all;
export all;
};
ipv6 sadr {
table fff6;
import all;
export all;
};
include "/tmp/bird/include/babelpeers.conf";
};

@ -0,0 +1,45 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2010-2017 OpenWrt.org
USE_PROCD=1
START=70
BIRD_BIN="/usr/sbin/bird"
BIRD_CONF="/etc/bird.conf"
BIRD_PID_FILE="/var/run/bird.pid"
start_service() {
mkdir -p /var/run
set_include_path
procd_open_instance
procd_set_param command $BIRD_BIN -f -c $BIRD_CONF -P $BIRD_PID_FILE
procd_set_param file "$BIRD_CONF"
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}
reload_service() {
set_include_path
procd_send_signal fff-bird
}
set_include_path() {
# Change include file path, so bird uses the correct configuration, depending on the configuration state:
# - If test mode is active (and /tmp/bird/fff exists), switch to the temporary configuration to be tested.
# - If new settings are applied or the old settings are restored after an unsuccessful test (and /tmp/bird/fff does not exist),
# switch back to the permanent configuration (/etc/bird/fff).
mkdir -p /tmp/bird/include
if [ -d /tmp/bird/fff ]; then
echo 'include "/tmp/bird/fff/babelpeers/*.conf";' > /tmp/bird/include/babelpeers.conf
echo 'include "/tmp/bird/fff/nat-filter.conf";' > /tmp/bird/include/nat-filter.conf
else
echo 'include "/etc/bird/fff/babelpeers/*.conf";' > /tmp/bird/include/babelpeers.conf
echo 'include "/etc/bird/fff/nat-filter.conf";' > /tmp/bird/include/nat-filter.conf
fi
}

@ -0,0 +1,4 @@
/etc/init.d/bird disable
rm -f /etc/init.d/bird
exit 0

@ -0,0 +1,5 @@
# SPDX-License-Identifier: GPL-3.0-only
mv /etc/bird-fff.conf /etc/bird.conf
exit 0

@ -0,0 +1,72 @@
# SPDX-License-Identifier: GPL-3.0-only
babel_get_version() {
/usr/sbin/bird --version 2>&1 | sed "s/BIRD version /bird-/"
}
babel_add_interface() {
[ "$#" -ne "4" ] && return 1
local name="$1"
local interface="$2"
local type="$3"
local rxcost="$4"
mkdir -p /tmp/bird/fff/babelpeers
echo "interface \"$interface\" { type $type; rxcost $rxcost; };" > /tmp/bird/fff/babelpeers/$name.conf
return 0
}
babel_delete_interface() {
[ "$#" -ne "1" ] && return 1
local name="$1"
# Removing peers from /etc is not necessary, as all peers are generated into /tmp on every configuration run,
# which completely overwrites existing peers in /etc in the apply step.
rm -f /tmp/bird/fff/babelpeers/$name.conf
return 0
}
babel_add_redistribute_filter() {
return 0
}
babel_add_private_prefix_filter() {
[ "$#" -ne "1" ] && return 1
local prefix="$1"
prefix=$(owipcalc "$prefix" network prefix "$prefix")
mkdir -p /tmp/bird/fff
echo "if net ~ $prefix then reject;" > /tmp/bird/fff/nat-filter.conf
return 0
}
babel_remove_custom_redistribute_filters() {
mkdir -p /tmp/bird/fff
> /tmp/bird/fff/nat-filter.conf
return 0
}
babel_apply_implementation() {
# error output hidden because apply might be executed without a preceding configure step.
if [ -d /tmp/bird/fff ]; then
rm -rf /etc/bird/fff
mv /tmp/bird/fff /etc/bird/fff
fi
return 0
}
babel_reload_implementation() {
/etc/init.d/fff-bird reload
}
babel_revert() {
rm -r /tmp/bird/fff
}

@ -0,0 +1,20 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-3.0-only
set -e
set -o pipefail
if ! birdc show status >/dev/null 2>&1; then
# bird daemon not running or unavailable. exit.
exit 0
fi
neighbours="$(birdc -r show babel neighbors |
tail -n +5 |
awk '{ printf "<neighbour><ip>%s</ip><outgoing_interface>%s</outgoing_interface><link_cost>%s</link_cost></neighbour>", $1, $2, $3 }'
)"
echo -n "<babel_neighbours>$neighbours</babel_neighbours>"
exit 0

@ -0,0 +1,28 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-babel
PKG_RELEASE:=$(COMMITCOUNT)