Commit Graph

3062 Commits

Author SHA1 Message Date
Sven Eckelmann
36a5604dfe ipq40xx: add support for OpenMesh A42 2018-07-25 22:27:16 +02:00
David Bauer
04b446d8cd ramips: add support for TP-Link TL-WR841N v13 (#1470) 2018-07-25 22:19:59 +02:00
David Bauer
8395c08e66 ramips: add support for TP-Link Archer C50 v3 (#1487) 2018-07-23 04:34:37 +02:00
Sven Eckelmann
3ef28a4684 gluon-client-bridge: Revert "move IPv4 local subnet route to br-client (#1312)"
The commit b3762fc61c ("gluon-client-bridge: move IPv4 local subnet route
to br-client (#1312)") moves the IPv4 prefix from the local-port interface
to br-client. A client requesting an IPv4 connection to the IPv4 anycast
address of the node (the device running gluon) will create following
packets:

1. ARP packet from client to get the MAC of the mac address of the anycast
   IPv4 address
2. ARP reply from node to client with the anycast MAC address for the IPv4
   anycast address
3. IPv4 packet from client which requires reply (for example ICMP echo
   request)
4. ARP request for the client MAC address for its IPv4 address in prefix4
   (done with the mac address of br-client and transmitted over br-client)
5. IPv4 packet from node (transmitted over br-client with br-client MAC
   address) as reply for the client IPv4 packet (for example ICMP echo
   reply)

The step 4 and 5 are problematic here because packets use the node specific
MAC addresses from br-client instead of the anycast MAC address. The client
will receive the ARP packet with the node specific MAC address and change
their own neighbor IP (translation) table. This will for example break the
access to the status page to the connected device or the anycast DNS
forwarder implementation when the client roams to a different node.

This reverts commit b3762fc61c and adds an
upgrade code to remove local_node_route on on existing installations.
2018-07-22 16:42:41 +02:00
Sven Eckelmann
fc59d5208d gluon-mesh-batman-adv: Drop IPv4 anycast related packets from/to bat0
The commit b3762fc61c ("gluon-client-bridge: move IPv4 local subnet route
to br-client (#1312)") moves the IPv4 prefix from the local-port interface
to br-client. A client requesting an IPv4 connection to the IPv4 anycast
address of the node (the device running gluon) will create following
packets:

1. ARP packet from client to get the MAC of the mac address of the anycast
   IPv4 address
2. ARP reply from node to client with the anycast MAC address for the IPv4
   anycast address
3. IPv4 packet from client which requires reply (for example ICMP echo
   request)
4. ARP request for the client MAC address for its IPv4 address in prefix4
   (done with the mac address of br-client and transmitted over br-client)
5. IPv4 packet from node (transmitted over br-client with br-client MAC
   address) as reply for the client IPv4 packet (for example ICMP echo
   reply)

The step 4 is extremely problematic here. ARP replies with the anycast IPv4
address must not be submitted or received via bat0 - expecially not when it
contains an node specific MAC address as source. When it is still done then
the wrong MAC address is stored in the batadv DAT cache and ARP packet is
maybe even forwarded to clients. This latter is especially true for ARP
requests which are broadcast and will be flooded to the complete mesh.

Clients will see these ARP packets and change their own neighbor IP
(translation) table. They will then try to submit the packets for IPv4
anycast addresses to the complete wrong device in the mesh. This will for
example break the access to the status page to the connected device or the
anycast DNS forwarder implementation. Especially the latter causes extreme
latency when clients try to connect to server using a domain name or even
breaks the connection setup process completely. Both are caused by the
unanswered DNS requests which at first glance look like packet loss.

An node must therefore take care of:

* not transmitting ARP packets related to the anycast IPv4 address over
  bat0
* drop ARP packets related to the anycast IPv4 when they are received on
  bat0 from a still broken node
* don't accept ARP packets related to the anycast IPv4 replies on local
  node when it comes from bat0

Fixes: b3762fc61c ("gluon-client-bridge: move IPv4 local subnet route to br-client (#1312)")
2018-07-22 16:42:41 +02:00
Adorfer
65d172f835
gluon-config-mode-mesh-vpn: i18n/de: fix missing comma 2018-07-19 19:28:48 +02:00
Matthias Schiffer
bd75341739
modules: update OpenWrt
a297324a135a base-files: fix wrong sysctl parameter order
1e48546a6ad1 igmpproxy: run in foreground for procd
2018-07-18 20:37:07 +02:00
Matthias Schiffer
017bcd43ce
gluon-core: remove nixio dependency 2018-07-17 20:08:16 +02:00
Matthias Schiffer
06a9d61523
gluon-web-*: replace nixio with luaposix 2018-07-17 20:08:16 +02:00
Matthias Schiffer
92d90cdfb7
gluon-config-mode-*: replace nixio with gluon.util 2018-07-17 20:08:16 +02:00
Matthias Schiffer
90031ba97a
gluon-status-page: replace nixio with luaposix 2018-07-17 20:08:16 +02:00
Matthias Schiffer
5fc04fb34a
gluon-wan-dnsmasq: replace nixio with luaposix 2018-07-17 20:08:15 +02:00
Matthias Schiffer
32394dc694
gluon-mesh-vpn-core: replace nixio with luaposix 2018-07-17 20:08:15 +02:00
Matthias Schiffer
fd10d7cbb0
gluon-core: replace nixio with luaposix and luabitops 2018-07-17 20:08:15 +02:00
Matthias Schiffer
60a0e78a4a
gluon-core: gluon.util: remove unused function readline() 2018-07-17 20:08:15 +02:00
Matthias Schiffer
223dd49f95
modules: update OpenWrt packages
787a5f9c555b gcc: enable compilation with gcc 7.x
2018-07-17 19:54:33 +02:00
Matthias Schiffer
22e9e2c45b
modules: update OpenWrt
f8cc68670fcf mediatek: fix parallel build issues in image build code
1086408b17fa mtd: improve check for TRX header being already fixed
5dca299fabc4 mtd: support bad blocks within the mtd_fixtrx()
5889cf70e99f kmod-sched-cake: bump to 20180716
393ee8d0b28a qos-scripts: fix uci callback handling
c9c0fc28a9c4 base-files: fix UCI config parsing and callback handling
aee917a5a28d apm821xx: fix usb-otg on 4.14
3539430b3daa odhcp6c: add noserverunicast config option for broken DHCPv6 servers
6363377c477f odhcp6c: update to latest git HEAD
ce8cab388aab odhcp6c: user string option support
dc52b7b104aa ipq40xx: add get_status_led to diag.sh
7fc7128b086a OpenWrt v18.06.0-rc2: revert to branch defaults
4de335bdbed6 OpenWrt v18.06.0-rc2: adjust config defaults
e4d0ee5af5a0 uhttpd: update to latest Git head
2018-07-17 19:52:41 +02:00
David Bauer
c3ceded76f ipq40xx: add support for IBSS
Add support for IBSS meshing. Leave target marked as BROKEN for IBSS
as stability is unknown and WiFi LEDs are not working.

Functionality was tested in the network of Freifunk Frankfurt with other
ipq40xx and ar71xx devices.
2018-07-16 01:39:36 +02:00
David Bauer
6e48dedeb8 scripts: include binaries in patch
This commit allows for binary content in patches created via 'make
update-patches'.

Binary patches are needed for BDFs required for al boards on the new
ipq40xx target. Before this commit, binaries were omitted from the
generated patch which resulted in the patch not able to apply.

Patches without binary content do not differ in case they are created
with the '--binary' flag.
2018-07-16 01:39:36 +02:00
David Bauer
c4b1febd31 ipq40xx: add target
This commit adds support for the new ipq40xx target.
2018-07-16 01:39:36 +02:00
Christoph Krapp
4883bc7141 ar71xx: add support for TP-Link RE355 (#1478)
Support is marked as broken because this device is sold in two variants,
one with 64M RAM and another with 128M. As of now 64M is not enough
for ath10k with 5GHz enabled.
As there is no indication known which variant one will get better mark
it as broken.

Signed-off-by: Christoph Krapp <achterin@googlemail.com>
2018-07-15 18:29:42 +02:00
Matthias Schiffer
81756ad734
docs: releases/v2018.1: extend explanation of status page rewrite 2018-07-14 21:18:41 +02:00
Matthias Schiffer
3bf5e1c875
docs: releases/v2018.1: add note regarding next_node.name change
Fixes: #1463
2018-07-14 21:07:26 +02:00
Matthias Schiffer
7460431faa
scripts/copy_output.sh: add support for "extra" images
The new extra_image command allows to copy additional images that don't
fall into the sysupgrade or factory categories to the output directory.
These images will be placed in the "other" subdirectory.

The extra_image command takes 3 arguments: in_suffix (suffix in OpenWrt
bin directory), out_suffix (suffix in Gluon output directory) and ext (file
extension). Example:

  extra_image '-tftp' '-tftp' '.bin'

The ext argument can be omitted to control the whole filename suffix
including the extension from in_suffix and out_suffix. Multiple extra_image
commands can be used for a single device; aliases work as usual.

Based-on-patch-by: David Bauer <mail@david-bauer.net>
2018-07-14 18:33:37 +02:00
Matthias Schiffer
e8cb34bae2
scripts/copy_output.sh: refactor 2018-07-14 18:17:36 +02:00
Matthias Schiffer
ece5c6af77
modules: update OpenWrt
a7b2764879db include/prereq-build.mk: explicitly check for -f flag when using busybox time
2018-07-14 15:50:31 +02:00
Matthias Schiffer
7e4bfee3c9
gluon-core: upgrade: remove unused variables 2018-07-14 13:35:28 +02:00
Matthias Schiffer
7b23e443e1
modules: update OpenWrt
bc7abe8729f3 include/kernel-build.mk: fix kernel rebuild on backport patch changes
c99c70e05303 kernel: backport page fragment API changes from 4.10+ to 4.9
2018-07-14 13:11:47 +02:00
Matthias Schiffer
83301241ec
mt76: depend on kernel 4.14
Do not break the build on kernel 4.9 (ar71xx).
2018-07-14 01:24:13 +02:00
Matthias Schiffer
f1f2bae94f
gluon-core: remove obsolete gluon.site_config library 2018-07-13 23:16:33 +02:00
Matthias Schiffer
c5fd53e527
modules: update OpenWrt
3e81365141e4 kernel: gen_stats: Fix netlink stats dumping in the presence of padding
dd1f97b37d41 ramips: clean up and fix MT7621 NAND driver issues
68f40d7ecc4c mt76: update to the latest version
16a9ddfe64e2 ramips: ethernet: use own page_frag_cache
0e6cfb691914 ramips: ethernet: use skb_free_frag to free fragments
2018-07-13 17:33:27 +02:00
David Bauer
52bc028e6b ar71xx: add support for OCEDO Koala (#1475) 2018-07-13 01:25:58 +02:00
Matthias Schiffer
79b20b6e12
modules: update OpenWrt
514a4b3e1b4e include/feeds.mk: rework generation of opkg distfeeds.conf
3e89f58a5ead base-files: fix feed list in PKG_CONFIG_DEPENDS
7fa7c854fe33 include/feeds.mk: always add available feeds to PACKAGE_SUBDIRS
a5b9553cf592 scripts/feeds: add src-dummy method
2f306873efbe ramips: TP-Link TL-WR902AC v3: add missing wps button
36a4681b2bef ramips: TP-Link TL-WR902AC v3: don't build factory image
ca903c73c705 kernel: bump 4.14 to 4.14.54 for 18.06
3a5498c5e55d kernel: bump 4.9 to 4.9.111 for 18.06
27014da237f1 mac80211: Expose support for ath9k Dynack
5a40fad22a39 kernel: bcm47xxpart: fix getting user-space data partition name
2018-07-12 21:40:49 +02:00
Julian
126b34ff14 mvebu: add correct subtarget (#1473) 2018-07-11 22:13:16 +02:00
Matthias Schiffer
63c16c01a0
scripts: move DEFAULT_FEEDS definition to a separate file
modules.sh can't depend on openwrt/feeds.conf.default, otherwise the
initial update will fail.
2018-07-11 21:47:50 +02:00
Julian
9906d69322 docs: fix wrong Banana Pi model in v2018.1 release notes (#1466) 2018-07-11 04:12:00 +02:00
Matthias Schiffer
210d97c53e
Switch to OpenWrt 18.06 branch 2018-07-10 22:57:40 +02:00
Matthias Schiffer
fcd5f183ee
docs: Gluon v2018.1+ 2018-07-08 21:01:29 +02:00
Matthias Schiffer
f01037384d
docs, README: Gluon v2018.1 2018-07-08 20:59:57 +02:00
Matthias Schiffer
473818e905
docs: add v2018.1 release notes 2018-07-08 20:55:30 +02:00
Matthias Schiffer
0036ed5ddf
docs: examples: improve domain_seed comments 2018-07-08 20:55:30 +02:00
Matthias Schiffer
3540eb96ed
docs: user/site: improve feature flag explanation 2018-07-08 20:55:29 +02:00
Matthias Schiffer
655da23520
docs: features/wired-mesh: add section about VXLAN encapsulation 2018-07-08 20:55:29 +02:00
Matthias Schiffer
446ae60d94
modules: update Gluon packages
be2c35785994 respondd-module-airtime: Fix reported noise result (#190)
2018-07-08 20:11:21 +02:00
Matthias Schiffer
6a5e67b383
docs: add documentation for site library 2018-07-07 11:43:37 +02:00
Vincent Wiemann
68af719e24 docs: private-wlan: add uci command to set MAC (#1454)
add a missing command to set the special Gluon MAC address of the private WLAN interface to the documentation.
2018-07-04 00:06:23 +02:00
Vincent Wiemann
dc13668b9d docs: increase recommended disk space for builds (#1450)
With all the packages being built 10GB are not enough anymore.
2018-07-03 00:06:05 +02:00
Matthias Schiffer
baebf9b852
docs: add ebtables-limit-arp feature to site.mk example
Closes: #1436
2018-07-01 16:34:00 +02:00
David Bauer
2fda1a1f86 ar71xx: use Power-LED as Diag-LED on FRITZBox 4020 (#1453)
This commit makes use of the Power-LED as Diag-LED, allowing the LED to
work as a status indicator for config-mode.

Signed-off-by: David Bauer <mail@david-bauer.net>
2018-06-30 19:23:12 +02:00
Matthias Schiffer
da058c5ef9
gluon-status-page: move neighbours-batadv wrapper to batadv-specific package 2018-06-30 16:03:13 +02:00