David Bauer
246a617d71
ar71xx: add support for TL-WR902AC v1 ( #1546 )
...
This adds support for the TP-Link TL-WR902Ac v1 travel router.
The device is marked as broken due to 64MB which might be insufficient
in certain environments.
2018-10-11 03:21:51 +02:00
Andreas Ziegler
78ed75ee28
Revert "gluon-core: make sure dns traffic leaves the correct interface when there is ipv6 wan uplink"
...
This reverts commit b3d7011130
.
with this change, DNS in batman-adv based networks is broken.
although the revert breaks babel based networks, this is not as big of a problem.
2018-08-03 15:04:26 +02:00
Christof Schulze
b3d7011130
gluon-core: make sure dns traffic leaves the correct interface when there is ipv6 wan uplink
2018-08-02 00:58:51 +02:00
Sven Eckelmann
b9ec173ffb
ipq40xx: add support for OpenMesh A62
...
This device is a dual 5GHz device. It is recommended to manually change the
radio of the first device to the lower 5GHz channels and the second radio
to the upper 5GHz channels.
2018-07-25 22:27:16 +02:00
Sven Eckelmann
36a5604dfe
ipq40xx: add support for OpenMesh A42
2018-07-25 22:27:16 +02:00
Matthias Schiffer
017bcd43ce
gluon-core: remove nixio dependency
2018-07-17 20:08:16 +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
David Bauer
c4b1febd31
ipq40xx: add target
...
This commit adds support for the new ipq40xx target.
2018-07-16 01:39:36 +02:00
Matthias Schiffer
7e4bfee3c9
gluon-core: upgrade: remove unused variables
2018-07-14 13:35:28 +02:00
Matthias Schiffer
f1f2bae94f
gluon-core: remove obsolete gluon.site_config library
2018-07-13 23:16:33 +02:00
David Bauer
52bc028e6b
ar71xx: add support for OCEDO Koala ( #1475 )
2018-07-13 01:25:58 +02:00
Matthias Schiffer
210d97c53e
Switch to OpenWrt 18.06 branch
2018-07-10 22:57:40 +02:00
Sven Eckelmann
ef819cc196
ar71xx: add support for OpenMesh OM2P(-HS)v4 ( #1426 )
2018-06-09 13:55:38 +02:00
Sven Eckelmann
9d719a2e57
ar71xx: add support for OpenMesh A40/A60 ( #1424 )
2018-06-08 20:18:30 +02:00
Matthias Schiffer
1f7ed28b76
gluon-core: set VXLAN/legacy mode in site config
...
In multidomain setups, VXLAN is enabled by default, but can be disabled in
domain configs using the mesh/vxlan option. In single domain setups, the
mesh/vxlan option is mandatory.
The UCI option for legacy mode is removed.
Fixes #1364
2018-04-27 18:05:50 +02:00
Christof Schulze
b70d4ce20a
gluon-core, gluon-l3roamd: introduce script gluon-list-mesh-interfaces that lists all currently active mesh interfaces
2018-04-15 12:41:01 +02:00
Matthias Schiffer
994c94918a
treewide: automatically set SECTION and CATEGORY for Gluon packages
2018-04-14 00:01:04 +02:00
Matthias Schiffer
74f4119c1b
treewide: add support for building kernel modules used by Gluon into the kernel
2018-04-13 17:32:20 +02:00
Matthias Schiffer
543eb17882
gluon-core: remove DNS cache feature
...
dnsmasq's caching is severly broken and does not handle all answer records
equally. In particular, its cached answers are missing DNSKEY and DS
records, breaking DNSSEC validation on clients.
Remove the cache for now. It may return if dnsmasq is fixed or we switch to
a different resolver.
2018-04-13 15:15:40 +02:00
Matthias Schiffer
395266e404
gluon-core: remove obsolete dnsmasq upgrade script
...
The script cleaned up an old setting that was removed in 2014.
2018-04-13 15:01:43 +02:00
Matthias Schiffer
ba9fc94e85
gluon-core: get rid of old sysctl settings
2018-04-13 14:41:01 +02:00
Matthias Schiffer
9b937a8c64
gluon-core: remove unused gluon.sysctl Lua module
2018-04-13 14:41:01 +02:00
Matthias Schiffer
25b32ec2fe
treewide: move sysctl settings to /etc/sysctl.d
...
net.ipv6.conf.br-client.forwarding is moved from gluon-client-bridge to
gluon-mesh-batman-adv, as the setting is not useful with non-bridged
protocols.
2018-04-13 14:41:01 +02:00
Matthias Schiffer
46c5effae3
gluon-core: reduce mac80211 fq_codel memory limit to 256KB on devices with 32MB RAM
2018-04-11 08:33:30 +02:00
Matthias Schiffer
532b57011f
gluon-core, gluon-client-bridge: allow 0-character ESSIDs/mesh IDs
2018-03-17 15:38:24 +01:00
Jan-Tarek Butt
9a9024843b
gluon-core: check mesh ID and IBSS SSID length to be in range of 1-32 characters
2018-03-17 15:33:12 +01:00
Matthias Schiffer
9f86bf3155
gluon-core: add default_hostname helper
2018-03-17 11:44:33 +01:00
Matthias Schiffer
d87a798ac3
gluon-core: disable VXLAN checksums
...
Our VXLAN setup was changed to accept VXLAN packets without checksum almost
2 months ago, so we can disable sending the checksums now as well. Slightly
improves performance.
2018-03-16 20:17:03 +01:00
Matthias Schiffer
68a706a948
gluon.mk: remove GLUON_PKG_MAKE option
2018-03-09 10:05:44 +01:00
Matthias Schiffer
60522ee253
treewide: move package Makefile boilerplate to gluon.mk
2018-03-08 19:49:41 +01:00
Matthias Schiffer
934221b86f
treewide: remove redundant definitions from package Makefiles
2018-03-07 21:23:41 +01:00
Matthias Schiffer
83a6847fbd
gluon-web: remove unneeded functions from gluon.web.util
...
exec() is moved to gluon.util.
2018-02-25 17:13:30 +01:00
Matthias Schiffer
5dcb784308
gluon-core: remove unused lock and exec functions
2018-02-25 17:13:30 +01:00
Matthias Schiffer
987eef011a
gluon-core: remove unused user/group management functions, call lock command directly
2018-02-25 17:13:30 +01:00
Christof Schulze
9711afaf69
gluon-core: allow multiple domain names for next_node-feature
...
* change type of next_node.name
* create domain entry for each entry and add to dnsmasq configuration
[Matthias Schiffer: reword documentation]
2018-02-16 15:15:31 +01:00
Matthias Schiffer
345a5de861
gluon-core: add newline to the end of sysconfig files
...
Both gluon.sysconfig and libgluonutil already remove the trailing newline
if it exists. It's nicer to avoid files without a trailing newline, e.g.
for printing the file contents in a terminal.
2018-02-15 20:57:53 +01:00
Martin Weinelt
427c83754b
gluon-core: 200-wireless: upgrade 11ac radios to VHT20 ( #1328 )
...
Patch originally authored by @oleeander.
Fixes #424
2018-02-15 20:29:19 +01:00
Matthias Schiffer
d61f6a1e85
gluon-core: rename iterate_radios() to foreach_radio(), pass whole radio section
...
Allows to remove some redundant UCI lookups.
2018-02-15 14:04:37 +01:00
Karsten
f69fbf7d05
gluon-core: don't disable legacy mesh on mesh_lan on reconfigure ( #1323 )
...
Fixes #1322
2018-02-07 07:33:25 +01:00
Matthias Schiffer
c479d9160d
gluon-core: don't request a prefix via DHCPv6 on WAN
...
The prefix is not used, and requesting it leads to odhcp6c log spam with
certain DHCPv6 servers.
2018-02-03 03:02:56 +01:00
Matthias Schiffer
09c2e60cd4
gluon-core: upgrade/110-network: fix formatting
2018-02-03 03:02:20 +01:00
Matthias Schiffer
6ae067cb37
gluon-core: add domain aliases and pretty name
...
Based-on-patch-by: lemoer <git@irrelefant.net>
2018-01-26 12:32:47 +01:00
Matthias Schiffer
a2f45d0d32
gluon-core: store default domain in UCI
2018-01-26 12:32:46 +01:00
Matthias Schiffer
24a085a542
gluon-site: add default domain and check for it
...
This does not do anything yet, as this_domain() is not implemented yet.
Based-on-patch-by: lemoer <git@irrelefant.net>
2018-01-26 12:32:46 +01:00
Matthias Schiffer
7ae8a51126
gluon-core: allow zero VXLAN UDP checksum on RX
...
Also disabling TX checksums and not only allowing incoming packets without
checksum will provide another small speedup. As doing so would break wired
meshing with VXLAN-enabled nodes that require non-zero checksums, we will
wait a few days before this step.
2018-01-24 22:41:29 +01:00
Matthias Schiffer
e54b37d835
gluon-core: firewall: move VXLAN rules to the top
...
Evaluating these rules before all the ICMPv6 rules improves wired mesh
throughput measurably.
2018-01-24 22:41:29 +01:00
Matthias Schiffer
2950cc3f59
gluon-core: only use a bridge for wired meshing when necessary
...
On most devices, there is only a single LAN interface connected to all LAN
ports, so no bridge is necessary.
2018-01-24 22:16:09 +01:00
Matthias Schiffer
7ccdacd294
treewide: rework check_site_lib.lua
...
In addition to significant internal differences in check_site_lib.lua (in
particular unifying error handling to a single place for the upcoming
multi-domain support), this changes the way fields are addressed in site
check scripts: rather than providing a string like 'next_node.ip6', the
path is passed as an array {'next_node', 'ip6'}.
Other changes in site check scripts:
* need_array and need_table now pass the full path to the sub fields to the
subcheck instead of the key and value
* Any check referring to a field inside a table implies that all higher
levels must be tables if they exist: a check for {'next_node', 'ip6'} adds
an implicit (optional) check for {'next_node'}, which allows to remove many
explicit checks for such tables
2018-01-19 10:12:43 +01:00
lemoer
50812b162c
treewide: forbid use of selected site variables in domain specific or site configs
...
[Matthias schiffer: rebase, add a few more restrictions]
2018-01-19 04:05:27 +01:00
lemoer
b520bf5c50
gluon-core: rename site_seed to domain_seed
...
[Matthias Schiffer: rebase]
2018-01-19 03:30:06 +01:00
lemoer
adcd5b7311
gluon-core: add gluon-reconfigure script
...
Not useful by itself except for testing; will be used for multi-domain
support.
[Matthias Schiffer: rename script, use for initial configuration]
2018-01-19 01:10:39 +01:00
lemoer
0f5d932c4f
gluon-core: add util gluon-show-site to print merged site config
...
This should not convert JSON to a Lua table and back, as this loses the
distinction between arrays and objects, but as our site.conf is defined in
Lua anyways (for now), this can be fixed in a later revision.
[Matthias Schiffer: rename to gluon-show-site, rebase]
2018-01-19 01:07:44 +01:00
lemoer
5817170821
gluon-core: introduce "gluon" uci package
...
[Matthias Schiffer: change section name and commit message]
2018-01-19 00:41:25 +01:00
Matthias Schiffer
0b80f1b5ce
gluon-core: reimplement gluon.site module in C
...
By basing the Lua gluon.site module on gluonutil_load_site_config(), the
config load implementation needs to changed only in a single place for
multi-domain support.
2018-01-18 16:29:00 +01:00
Matthias Schiffer
6cf88c3b03
Replace luci-lib-jsonc with our own lua-jsonc
2018-01-18 16:28:59 +01:00
Matthias Schiffer
01336f70ec
gluon-core: firewall: make the default input policy REJECT
...
Fixes #1311
2018-01-17 09:51:10 +01:00
Matthias Schiffer
a32fddf38c
gluon-core: firewall: accept inbound VXLAN traffic on wired mesh interfaces
...
Fixes #1308
2018-01-17 09:51:10 +01:00
David Bauer
99b02701cc
ar71xx: add support for TP-Link Archer C58/C59/C60 ( #1281 )
2018-01-16 18:51:12 +01:00
Matthias Schiffer
18b9174d03
Use 'disabled' attribute instead of 'auto' to disable wired mesh interfaces
...
The 'auto' attribute still allows enabling the interface using ifup, which
is not intended when wired mesh is disabled.
2018-01-11 23:06:36 +01:00
David Bauer
9273e56c63
ar71xx: add support for TP-Link Archer C7 v4 ( #1289 )
2018-01-03 16:50:23 +01:00
Matthias Schiffer
2b1ffb3034
gluon-core, gluon-client-bridge: create local_client zone in core
...
As core defines basic rules for this zone, it makes sense to create it
there.
2017-12-27 02:43:34 +01:00
Matthias Schiffer
8ea5810bda
gluon-core: firewall: allow inbound ICMPv4 ping on local_node
2017-12-27 02:43:34 +01:00
Matthias Schiffer
39284f00d0
gluon-core: firewall: allow Multicast Listener Discovery on mesh/local_client
...
Based-on-patch-by: Christof Schulze <christof.schulze@gmx.net>
2017-12-27 02:43:33 +01:00
Matthias Schiffer
a252383918
gluon-core: firewall: remove redundant ICMPv6 output rules
...
OUTPUT is always accepted, no need to allow ICMPv6 explicitly.
2017-12-27 02:43:33 +01:00
Matthias Schiffer
fe2048e4df
gluon-core: firewall: coding style
...
Wrap long lines.
2017-12-27 02:43:33 +01:00
Ralf Jung
4bae0a429f
docs: dns-cache: explain setting dns.servers a bit more ( #1268 )
2017-12-27 00:21:08 +01:00
Christof Schulze
1c1c9f8fc7
gluon-core: firewall rework, make base policy more restrictive
...
* gluon-core, gluon-client-bridge: introduce new firewall zone: local_client
* gluon-core: put clients in local_client zone, introduce drop-zone,
set dns-rules and zones
* gluon-respondd: allow respondd on mesh
* gluon-status-page-api: allow http input on mesh and client
2017-11-25 23:19:08 +01:00
Matthias Schiffer
13b325355d
gluon-core: make old site_config library reference new one, not the other way around
2017-08-11 22:07:35 +02:00
Matthias Schiffer
ee6afaced9
treewide: use new gluon.site Lua library
...
Some files have received some additional refactoring.
2017-08-11 22:07:34 +02:00
Matthias Schiffer
8a41ed05f1
gluon-core: more coding style fixes
2017-08-11 20:28:59 +02:00
kb-light
90305761ce
gluon-core: update lib/gluon/upgrade/150-poe-passthrough for naming within lede
2017-08-11 20:27:51 +02:00
kb-light
949f4b7dd5
gluon-core: lib/gluon/upgrade/150-poe-passthrough: fix indentation
2017-08-11 20:26:08 +02:00
Matthias Schiffer
3df9fcecb0
gluon-core: explicitly disable radios without configuration in site.conf
2017-08-08 14:08:35 +02:00
Matthias Schiffer
293a45456b
gluon-core, gluon-client-bridge: use new gluon.site library in gluon.util
...
In particular, this affects users of gluon.util.iterate_radios.
2017-08-08 14:07:09 +02:00
Matthias Schiffer
1d6e6726d7
gluon-core: use new gluon.site library to avoid 'or {}' syntax
2017-08-08 13:53:02 +02:00
Matthias Schiffer
57adb49de2
gluon-core: add new gluon.site library for convenient access to optional values
...
The new gluon.site lua library will eventually replace gluon.site_config
(which is hereby deprecated, but will continue to be supported for a
while).
The new gluon.site library will wrap all values to allow traversing
non-existing tables without errors.
site = require 'gluon.site'
c = site.a.b.c -- doesn't fail even if a or a.b don't exist
The wrapped values must be unwrapped using call syntax:
site_name = site.site_name()
Using the call syntax on a non-existing value will return nil. An
alternative default value may be passed instead:
mac = site.next_node.mac('16:41:95:40:f7:dc')
2017-08-08 13:20:38 +02:00
Matthias Schiffer
6884aad788
gluon-core: simplify 820-dns-config code
2017-08-08 04:31:53 +02:00
Matthias Schiffer
31721a61f5
gluonc-core: 200-wireless: remove unneeded nil checks for uci:set_list()
...
uci:set_list() will delete the list when nil is passed, so there is no need
to differentiate between the cases.
2017-08-08 04:31:52 +02:00
Matthias Schiffer
06d0c0f211
gluon-core: fix 200-wireless coding style
2017-08-08 04:31:52 +02:00
Matthias Schiffer
27f35e56b4
gluon-core: add interfaces having proto = gluon_mesh to mesh firewall zone
...
Based-on-patch-by: Christof Schulze <christof.schulze@gmx.net>
2017-06-27 23:49:56 +02:00
Christof Schulze
e432dd4d9f
gluon-core: gluon_mesh.sh: whitespace cleanup
2017-06-27 23:45:58 +02:00
Matthias Schiffer
ae593d8439
gluon-core: convert site seed to lowercase
...
While we use the hexadecimal representation as a hash input for simplicity,
it should not be interpreted as case-sensitive.
2017-06-27 23:28:23 +02:00
Matthias Schiffer
a2711065c8
gluon-core: add VXLAN support for gluon_wired protocol
2017-06-27 23:04:50 +02:00
Matthias Schiffer
0d6f957196
gluon-core: introduce new gluon_wired netifd proto for wired meshing
...
The new proto will simplify the switch to VXLAN encapsulation.
2017-06-27 23:00:17 +02:00
Matthias Schiffer
8bcd0975af
gluon-core: add a "site seed" to site.conf to seed site-specific random values
2017-06-27 23:00:17 +02:00
Matthias Schiffer
acfc3cc1a2
gluon-core: upgrade/210-interface-wan: whitespace cleanup
2017-06-21 17:16:41 +02:00
Matthias Schiffer
0db63008cd
gluon-core: upgrade/220-interface-lan: whitespace cleanup
2017-06-21 02:56:23 +02:00
Linus Lüssing
c519ec4596
gluon-core: reenable multicast snooping for wan zone
...
LEDE recently disabled multicast snooping by default:
https://git.lede-project.org/?p=project/netifd.git;a=commitdiff;h=52541140f8138e31958cdc3d7e42a4029fa6bbc9
Reenable it for Gluon as there have been no confirmed issues for
LEDE and no negative reports concerning Gluon v2016.2.x so far.
Closes #1025 .
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2017-04-13 22:31:47 +02:00
Matthias Schiffer
a502295eaf
gluon-core: gluon_mesh: make transitive and fixed_mtu available as interface data, add post-setup.d
...
In addition, transitive and fixed_mtu now default to 0 instead of an empty string.
2017-04-12 03:44:45 +02:00
Matthias Schiffer
02f2d8796c
gluon-core: don't call 'ip' to check if an interface exists
2017-04-11 02:01:21 +02:00
Matthias Schiffer
c4613c4e8d
gluon-core: gluon.util: pass UCI cursor to get_wlan_mac(), get rid of local UCI context
2017-04-11 01:48:11 +02:00
Matthias Schiffer
f48d10bdde
gluon-core: gluon.util: pass UCI cursor as argument to iterate_radios() instead of using local context
2017-04-11 01:48:11 +02:00
Julian Labus
734d1925de
gluon-core: gluon.util: fix PHY detection for radios addressed by PCIe address
2017-04-11 01:48:10 +02:00
Matthias Schiffer
da22c5cf8e
gluon-core: gluon.util: change find_phy argument to config table and make public
2017-04-11 01:48:10 +02:00
Julian
13c61d9394
gluon-core: fix pattern %v in opkg URLs ( #1087 )
2017-04-07 14:24:13 +02:00
Cyrus
6a0ca58fc3
gluon-core: Fixed bug which kept legacy VLAN interface definitions ( #1085 )
2017-04-03 20:48:42 +02:00
Christof Schulze
b7651ee96f
gluon-core: limit fq_codel memory to 1MB per AP with less than 48MB RAM ( #1046 )
2017-02-24 19:43:32 +01:00
Matthias Schiffer
b45585a109
Switch LAN and WAN port of Ubiquiti AirGateway
...
This makes the LAN port the PoE master, so the AirGateway can be used to
supply power to another node connected via mesh-on-LAN.
Fixes #608
2017-02-23 19:49:39 +01:00
kb-light
c9563cdebd
scripts: check_site_lib: introduce need_string_array_match() ( #1016 )
2017-02-21 09:45:33 +01:00
Matthias Schiffer
184cb1010d
gluon-core: add single_as_lan option to configure a single ethernet port as LAN instead of WAN
2017-02-10 22:48:23 +01:00
Matthias Schiffer
e39cbcbda1
gluon-core: gluon.util: make exec() replace all stdio files with /dev/null
2017-02-10 22:09:59 +01:00
Matthias Schiffer
ea12cb770d
gluon-core: nicer indentation of /lib/gluon/upgrade/020-interfaces
2017-02-10 22:08:51 +01:00
Matthias Schiffer
e5cb125737
Move wifi24/5 and mesh_on_wan/lan site validators from gluon-mesh-batman-adv-core to gluon-core
...
These values have been in use in gluon-core for some time, the validators
need to be moved as well.
2017-02-10 21:19:34 +01:00
Matthias Schiffer
f9a52fd54f
Move luci-base dependency from gluon-core to gluon-setup-mode
...
Nothing outside the config mode depends on luci-base anymore.
2017-02-10 02:10:02 +01:00
Matthias Schiffer
e665bfe64a
gluon-core: don't depend on luci.ltn12
2017-02-10 02:10:01 +01:00
Matthias Schiffer
c83b5b3cab
treewide: get rid of luci.util outside of config mode/advanced settings
2017-02-10 02:10:01 +01:00
Matthias Schiffer
6cf03bab37
treewide: replace normal uses of luci.model.uci with simple-uci to reduce LuCI dependencies
...
We also make use of the boolean support of simple-uci to make scripts
clearer.
2017-02-10 02:10:01 +01:00
Matthias Schiffer
6b62e2fc78
gluon-core: check_site.lua: only accept /64 as prefix6
...
A lot of our code does not actually work with other prefix lengths.
Fixes #1014
2017-01-26 18:59:38 +01:00
Christof Schulze
8b083d4986
gluon-core: check_site.lua: fix indentation
2017-01-24 23:21:10 +01:00
Christof Schulze
e2e910fb41
gluon-core: add configuration that enables the next_node to be used as dns cache
2017-01-24 23:20:40 +01:00
Matthias Schiffer
0a8e028e8f
gluon-core: upgrade: don't print an error message on systems without opkg
2017-01-19 13:10:57 +01:00
Matthias Schiffer
78b2775eec
Use LEDE as base for Gluon
2017-01-18 17:21:43 +01:00
Matthias Schiffer
04818c170b
package: refactor add_to_set/remove_to_set to get rid of last LuCI patch
2017-01-18 16:28:54 +01:00
Matthias Schiffer
2dd8a700ca
package: avoid use of GLUONDIR variable
2017-01-17 21:22:58 +01:00
Matthias Schiffer
99471f8d5d
ar71xx-generic: add support for TP-Link WBS210/510 (untested)
...
Closes #844
2017-01-06 12:02:32 +01:00
Christof Schulze
e41e5cb8d9
gluon-core: add get_mesh_devices(uconn) to gluon.util which will return all devices being up and having proto = gluon_mesh
2016-12-21 23:51:48 +01:00
Christof Schulze
0abe350782
gluon-core: replace blanks by tabs in gluon.util
2016-12-21 23:47:03 +01:00
Matthias Schiffer
d2373590e0
gluon-core: add support for removing sysctl settings
2016-12-10 23:43:44 +01:00
rubo77
2a101ddd56
gluon-core: add dirty flag to gluon-version, add site-version
2016-12-06 20:05:34 +01:00
Matthias Schiffer
20fc162b38
gluon-core, gluon-setup-mode: fix WAN/LAN assignment on CPE210
...
The interfaces were accidentially switched when the CPE210 was separated
from the CPE510 code.
2016-11-22 20:01:13 +01:00
Matthias Schiffer
b902ddd8df
gluon-next-node: make IPv4 next-node address optional
...
If next_node.ip4 is not set or gluon-next-node is not used, prefix4 will
now be optional as well.
2016-09-10 17:15:16 +02:00
Matthias Schiffer
6cddaedfc7
Reorganize MAC addresses, always explicitly set address for private WLAN
...
Fixes #842
2016-09-07 02:14:42 +02:00
Matthias Schiffer
4f39be09c9
gluon-core: migrate custom batadv interfaces to gluon_mesh proto
...
Users may have defined additional mesh interfaces. Properly migrate these
to avoid subtly breaking the network config (and make them ready for new
mesh protocols).
2016-09-07 02:14:42 +02:00
Matthias Schiffer
8434896014
gluon-mesh-batman-adv-core: move config not specific to batman-adv to gluon-core
2016-09-07 02:14:42 +02:00
Matthias Schiffer
5cd6295265
gluon-core: add gluon_mesh netifd proto
...
This new protocol will allow configuring mesh interfaces independently of
the used mesh protocol.
2016-09-07 02:14:42 +02:00
Matthias Schiffer
7e0075584d
Use a "pretty" hostname where possible
...
Fixes #414
2016-08-27 16:33:37 +02:00
kb-light
6ff94aca35
gluon-core: make wifi rates configurable by site.conf
...
and add documentation
2016-08-27 07:11:58 +02:00
Linus Lüssing
6594ba314c
gluon-core: reenable multicast snooping on WAN side
...
Just like we enabled multicast snooping on the batman-adv client bridge
again, let's do the same for the WAN side.
With one exception: The IGMP/MLD querier is kept disabled to avoid
becoming too "bossy"/"noisy" on a foreign network. The main router on
the WAN side should perform querying and by that enable
IGMP/MLD/snooping if it considers this appropriate there.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2016-08-23 00:21:26 +02:00
Matthias Schiffer
b1a753e1c5
gluon-core: allow setting PoE passthrough default setting from site.conf
2016-07-30 00:00:39 +02:00
Matthias Schiffer
279a409198
gluon-core: split get_wlan_mac_from_driver() out of get_wlan_mac()
2016-07-27 17:25:05 +02:00
Matthias Schiffer
2afe34efec
Use MAC addresses provided by WLAN drivers by default
...
Some drivers (mt76) don't support arbitrary MAC addresses. Use the
addresses provided by the driver (avoiding the primary address) by default,
but fall back to our has-based scheme when the driver doesn't provide
(enough) addresses.
2016-07-20 18:42:56 +02:00
Matthias Schiffer
c8bc4620d1
gluon-core: unify indentation in gluon/util.lua
2016-07-20 17:51:09 +02:00
Jan-Tarek Butt
1c1f490527
Minify all Lua code
2016-07-10 20:14:25 +02:00
Matthias Schiffer
42910c0606
ramips-mt7621: use phy1 MAC address as primary on DIR-860L B1
2016-07-10 15:51:07 +02:00
Matthias Schiffer
bae721a9bb
Add target ar71xx-mikrotik
...
Fixes #121
Based-on-patch-by: Tobias Hachmer <tobias@hachmer.de>
2016-06-23 00:29:28 +02:00
Matthias Schiffer
dc485f7356
gluon-core: make gluon.platform.match() match all boards when no boards are given
2016-06-23 00:07:25 +02:00
Sven Eckelmann
fa04fff88d
ar71xx-generic: Add support for OpenMesh MR1750v2
...
The new MR1750v2 device support is only available in LEDE master. The
relevant patches have to backported to add support for them in Gluon
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-06-17 20:04:00 +02:00
Sven Eckelmann
3ccd516971
ar71xx-generic: Add support for OpenMesh OM2P-HSv3
...
The new OM2P-HSv3 device support is only available in LEDE master. The
relevant patches have to backported to add support for them in Gluon
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-06-17 20:04:00 +02:00
Sven Eckelmann
780f7cad2a
ar71xx-generic: Use eth0 as OpenMesh primary mac address
...
The OpenMesh devices have a sticker with the eth0 mac address on the
bottom. Also all other mac addresses are calculated based on this address.
Therefore, it is better to use this as primary mac address instead of the
WiFi mac address.
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-05-23 21:39:27 +02:00
Matthias Schiffer
cab23b1838
ar71xx-generic: switch default WAN/LAN assignment on Ubiquiti UAP Pro
...
Fixes #764
2016-05-14 01:02:25 +02:00
Matthias Schiffer
087112a09b
ar71xx-generic: add support for UniFi AC PRO/LITE (LITE untested)
...
Also backport some patches improving QCA956x support.
2016-05-14 00:48:10 +02:00
lemoer
c73a12e0ea
Change MAC schema generation ( #715 )
...
While ath9k/ath10k devices can supprt VIFs with any combination of MAC addresses, there are also adapters which have a hardware MAC filter which only allows a few bits to differ. This commit changes the addresses of all VIFs to ony differ in the last 3 bits, which is required to support many Ralink/Mediatek based WLAN adapters.
Technically, the new addresses are generated by calculating an MD5 hash of the primary MAC address and using a part of this hash as a prefix for the MAC addresses.
The addresses (BSSIDs) of the AP VIFs are also reused for the LAN and WAN interfaces in mesh-on-LAN/WAN mode to reduce the number of needed addresses, and thus reduce the chance of collisions. This is not a problem as the MAC addresses of the AP VIFs are never used except as BSSID, and thus not seen by routing protocols like batman-adv.
Fixes #648
[Matthias Schiffer: rewrote commit message]
2016-04-27 12:16:39 +02:00
Matthias Schiffer
c18d43d2cb
gluon-core: use correct file variable in get_site_config()
2016-04-24 15:55:37 +02:00
Jan Niehusmann
bdcd166c7c
ar71xx-generic: add support for Carambola 2
...
Device information can be found at:
http://www.8devices.com/products/carambola-2
https://wiki.openwrt.org/toh/8devices/carambola2
I only did some minimal testing of gluon on the carambola 2 development
board:
- Config mode works
- Connects to Wifi Mesh
- Allows clients to connect
Notably, autoupgrade has not yet been tested.
Change to 010-primary-mac is necessary as the mac address printed
on the sticker is the one of eth0, not the wifi mac.
2016-04-22 08:32:19 +02:00
Jan-Philipp Litza
3a3c922a4d
gluon-core: use exec on uci commit
2016-04-03 16:14:48 +02:00
Matthias Schiffer
4658afb2c6
gluon-core: commit all UCI configs at the end
...
Avoid commiting configs inbetween to decrease number of flash writes.
Fixes #714 .
2016-04-02 18:56:45 +02:00
Linus Lüssing
0fc9e1d966
update config: "firewall: Allow IGMP and MLD input on WAN" (r45613)
...
Adopt the according modifications to the default firewall settings of
the WAN interface from OpenWRT, revision 45613.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2016-03-08 07:55:55 +01:00
Kokel
388d264ff0
gluon-core: add preserve wifi channels feature
...
This new feature introduces the new uci section 'gluon-core.wireless' with a preserve_channels option:
* preserve_channels (boolean)
By setting this option to 1 (true) wifi channels will be preserved during upgrades.
2016-02-10 07:06:36 +01:00
Matthias Schiffer
9004028cb4
Convert gluon-announce Lua code to C modules, rename to gluon-respondd
...
gluon-announced and gluon-announce are merged to gluon-respondd.
2016-02-02 09:18:12 +01:00
Matthias Schiffer
f23e024787
Convert site.conf to JSON during build
...
This will allow us to use its content from other languages than Lua as
well.
2016-01-02 23:49:25 +01:00
Matthias Schiffer
412e1ef147
gluon-core: fix removal of "OpenWrt" default WLAN interface
...
Fixes #534
2015-10-28 17:06:29 +01:00
Matthias Schiffer
3ddcf50b80
Drop htmode field from config, always use HT20
...
Fixes #487
2015-10-27 01:57:10 +01:00
Matthias Schiffer
22130e84e8
Merge gluon-radio-config into gluon-core
...
gluon-radio-config contained only a single file. The code has been adjusted
to allow creating a Gluon configuration without WLAN support by removing
the wifi24 and wifi5 sections from site.conf.
2015-10-26 20:59:56 +01:00
Matthias Schiffer
d5c334af6d
gluon-core: replace opkg site configuration to make it more flexible
...
The new options allow specifying custom repositories and are evaluated
in an upgrade script, not during build.
2015-10-14 02:57:29 +02:00
Alex
b465504ae8
add: info for 802.11s interface
...
additional information for commit 2a93c58042
2015-09-13 14:32:53 +02:00
Jan-Philipp Litza
339a6c9959
Remove dependencies on luci.util (and partly nixio.fs) from announce scripts
2015-09-02 13:17:59 +02:00
Nils Schneider
177086b881
gluon-radio-config: basic wireless configuration
...
Split basic radio configuration from gluon-mesh-batman-adv as this will
be required for virtually any wireless mesh protocol.
This package takes care of setting:
- wireless channel,
- htmode and
- regulatory domain
gluon-mesh-batman-adv-core depends on this package.
2015-08-18 11:41:14 +02:00
Matthias Schiffer
f6498e8773
Update modules
2015-07-18 18:02:13 +02:00
Matthias Schiffer
d386ccdcf8
Always use eth0 address as primary address on x86 and brcm2708
...
These targets don't have a WLAN adapter by default, so it doesn't make
sense to default to the phy0 address.
2015-07-10 20:22:53 +02:00
Matthias Schiffer
ab10be9f50
We're on Chaos Calmer now
2015-05-22 01:09:19 +02:00
Matthias Schiffer
bca916dd55
gluon-core: disable multicast snooping on the WAN bridge
...
This seems to mitigate weird bridge forwarding issues.
2015-04-27 22:00:38 +02:00
Matthias Schiffer
cd34cb2ebb
gluon-core, gluon-setup-mode: improve support for UAP Outdoor+
2015-04-08 00:44:12 +02:00
Jan-Philipp Litza
335026af09
Allow empty hostname prefix
...
In Bremen it has been noted that a prefix may lead people to believe it
has to stay there and thus naming their nodes "ffhb-*", which is not
what the community wants (see FreifunkBremen/gluon-site-ffhb#1 ).
However, an empty prefix lead to the connecting hyphen still being
inserted. This commit thus makes the hyphen part of the configured
prefix and allows the prefix to be missing from the `site.conf`.
2015-03-21 13:43:45 +01:00
Matthias Schiffer
65b44ca4ce
Rename gluon-config to gluon-site
2015-03-19 20:14:40 +01:00
Matthias Schiffer
dce26de28c
gluon-core: add i18n support
2015-03-18 20:24:57 +01:00
Matthias Schiffer
93cc8e543e
gluon-core: fix primary MAC address on TP-LINK Archer C5/C7
2015-03-10 13:40:45 +01:00
Matthias Schiffer
cbedc9421e
gluon-core: sysconfig: differentiate between nil and empty string
2015-01-26 20:18:33 +01:00
Matthias Schiffer
c45a0bcdc1
gluon-core: fall back to eth0 for the primary MAC address when there is no WLAN device
2015-01-25 02:29:43 +01:00
Matthias Schiffer
9b172bbaf4
Move all upgrade scripts to a common directory
...
Moving the scripts to a common directory not only vastly simplifies the
zzz-gluon-upgrade script, but also allows to define an ordering of such
scripts across packages.
2015-01-24 11:27:47 +01:00
Matthias Schiffer
6f11279438
gluon-core: convert all initial scripts to invariant scripts
2015-01-24 11:14:09 +01:00
Matthias Schiffer
78b43b1dd6
gluon-core, gluon-setup-mode: fix LAN and WAN on nanostation-m-xw
2014-11-26 23:30:56 +01:00
Matthias Schiffer
9dd4f52bfa
CPE510-specific config (switch WAN and LAN, config mode on WAN)
2014-11-26 19:50:45 +01:00
Matthias Schiffer
1803525745
Configure unique MAC addresses for all WLAN interfaces
2014-09-15 19:55:09 +02:00
Matthias Schiffer
b51e1063b7
Add utility function to generate unique MAC addresses derived from the primary MAC
2014-09-15 19:55:09 +02:00
Nils Schneider
0de7bf5f64
gluon-core: port initial/020-wireless to lua
2014-09-15 19:50:10 +02:00
Nils Schneider
5fa97f8fdb
gluon-core: add node_id() to gluon.util
2014-09-11 12:27:29 +02:00
Jan-Philipp Litza
ae43f3dc3e
gluon-core: Remove VERSION_DIR hack
...
As the (removed) comment said, this was a one-time-hack that was obsoleted long ago.
2014-08-30 15:13:52 +02:00
Matthias Schiffer
3762f52c69
gluon-core: restructure WAN configuration
2014-08-09 14:39:21 +02:00
Matthias Schiffer
201acaa3a9
Dependency fixes for the new LuCi version
2014-08-06 12:06:49 +02:00
Matthias Schiffer
971dec8d27
gluon-core: remove now unused dnsmasq.d support
2014-07-20 04:04:27 +02:00
Matthias Schiffer
d638359215
Explicitly set the WAN MAC address on all models where WAN is a VLAN device
...
Also move it to gluon-mesh-batman-adv, as mesh_on_wan is the only feature that
needs a unique MAC address on the WAN interface.
2014-07-19 18:40:12 +02:00
Matthias Schiffer
16060d25d5
Move essential firewall rules from gluon-firewall to gluon-core and gluon-mesh-batman-adv
...
The now empty gluon-firewall is removed.
2014-07-14 17:53:41 +02:00
Matthias Schiffer
eae6c25de6
Add support for IPv6 mesh VPN connections
...
The support is still very limited (IPv6-only DNS on WAN doesn't work yet), and
we now need fastd running as root, but apart from that, is should work.
2014-07-11 16:57:28 +02:00
Matthias Schiffer
58ced87261
Use nicer platform match
2014-07-11 12:11:47 +02:00
Matthias Schiffer
6f1777b072
gluon-core: add platform utility module
2014-07-11 11:36:53 +02:00
Matthias Schiffer
1a52c6bdf2
gluon-core: remove sysconfig.sh
2014-07-10 23:45:03 +02:00
Matthias Schiffer
f73d727ae6
Remove all remaining uses of sysconfig.sh
2014-07-10 23:44:06 +02:00
Matthias Schiffer
7773afdc18
gluon-core: remove model.sh and model.lua
2014-07-10 17:57:31 +02:00
Matthias Schiffer
81dc4f44e2
gluon-core: remove now unused sysctl.sh
2014-07-07 22:23:56 +02:00
Matthias Schiffer
3dddafea21
gluon-core: convert network config script to lua
2014-07-07 21:58:08 +02:00
Matthias Schiffer
0fd7ac1768
gluon-core: add and use a sysctl Lua module
2014-07-07 21:57:37 +02:00
Matthias Schiffer
1c0429ce8f
gluon-core: extend user management library and convert it to Lua
2014-07-07 21:48:35 +02:00
Matthias Schiffer
2ec02a41c2
gluon-core: add functions to unset sysconfig settings
2014-07-05 19:39:24 +02:00
Matthias Schiffer
ffd86668fe
Validate site.conf
2014-07-05 02:48:56 +02:00
Matthias Schiffer
e317bdc230
gluon-core: add gluon.model lua module
2014-06-09 17:56:29 +02:00
Matthias Schiffer
ee307ec1de
gluon-core: make Lua files proper modules
2014-05-17 13:43:08 +02:00
Matthias Schiffer
b95a4d67e8
gluon-core: convert generated upgrade scripts to Lua
2014-05-14 11:06:07 +02:00
Matthias Schiffer
d31ea9eba9
gluon-core: add site_config loader script
2014-05-14 08:00:54 +02:00
Matthias Schiffer
17b9514e38
Add gluon-config package containing the site config
2014-05-13 20:09:28 +02:00
Matthias Schiffer
49700fc70d
gluon-core: add sysconfig_isset function
2014-03-02 17:36:12 +01:00
Matthias Schiffer
bbd8ee6772
gluon-core: switch LAN and WAN on nanostation-m
2014-03-02 17:36:12 +01:00
Matthias Schiffer
96b213c386
We DON'T want the gluon version file to collide with the package version stamp dir
2014-02-26 10:21:14 +01:00
Matthias Schiffer
8f9ee8d62a
gluon-core: add version file
2014-02-25 11:30:07 +01:00
Matthias Schiffer
b953d5026f
gluon-core: use awk instead of grep+cut
2014-02-23 20:23:47 +01:00
Matthias Schiffer
5f8e34fc2f
gluon-core: remove support for incremental upgrade scripts
...
As we don't have any older gluon versions so far, and hope to be able to do all
upgrades with invariant scripts, remove the code for now.
If we ever see the need to add such upgrade scripts, we can just re-add this.
2014-02-23 20:20:16 +01:00
Matthias Schiffer
4fa228365a
gluon-core: don't call legacy scripts on normal upgrades
2014-02-23 17:29:32 +01:00
Matthias Schiffer
dd0ec447e7
gluon-core: adjust to new escaped array handling for generate expressions
2014-02-23 06:31:23 +01:00
Matthias Schiffer
2454c8abb7
Add gluon-legacy package with legacy upgrade scripts
2014-02-22 08:27:51 +01:00
Matthias Schiffer
65c7db78fd
Convert more upgrade scripts to the new sysctl helper
2014-02-21 19:58:38 +01:00
Daniel Ehlers
6f302fc8df
gluon-core: force kernel panic on out of memory
...
In combination with kernel.panic the node will reboot if out of memory.
2014-02-18 00:21:12 +01:00
Matthias Schiffer
62c30abd6f
gluon-core: ensure the release file is always up-to-date
2014-01-31 15:25:49 +01:00
Matthias Schiffer
4cf9b23e02
Enable DNS servers from mesh, disable on wan
2014-01-25 02:09:35 +01:00
Matthias Schiffer
ded5925f83
Remove odhcp6c.user hack
2014-01-25 01:54:19 +01:00
Matthias Schiffer
bc1be30486
More fixes for strange network interface configurations
2014-01-22 22:04:08 +01:00
Matthias Schiffer
b8820bab61
Properly support devices with only one ethernet interface
2014-01-22 20:44:34 +01:00
Matthias Schiffer
bb4a9fd5af
Fix race condition in dnsmasq config dir handling
2014-01-22 19:52:17 +01:00
Matthias Schiffer
3369802094
gluon-core: sysconfig: don't print error message for unset config
2014-01-22 19:45:07 +01:00
Matthias Schiffer
f1dae6ca6e
gluon-core: move initial/020-wireless from generate to files
2014-01-21 05:24:01 +01:00
Matthias Schiffer
e03fb9f8eb
gluon-core: add support for NTP server configuration
2014-01-21 04:22:59 +01:00
Matthias Schiffer
1ba10ac018
Add support for custom dnsmasq config and odhcp6c handler scripts
2014-01-21 03:01:12 +01:00
Matthias Schiffer
1b924d6265
gluon-core: use gluon release in package version string
2014-01-20 05:07:55 +01:00
Matthias Schiffer
ee4e896fea
gluon-core: use GLUON_RELEASE from environment
2014-01-20 02:35:21 +01:00
Matthias Schiffer
f36f7bcf26
Merge gluon-release into gluon-core
2014-01-20 01:59:10 +01:00
Matthias Schiffer
3275c92f72
gluon-core: add function to add users
2014-01-14 18:19:51 +01:00
Matthias Schiffer
d204b0e24f
Remove initscript enable/disable hacks
...
Better configure these properly.
2014-01-13 18:29:00 +01:00
Matthias Schiffer
13e3d7ff79
gluon-core: add sh file to get model name etc.
2014-01-12 21:33:44 +01:00
Matthias Schiffer
a259e771e9
gluon-core: fixup WAN interface MAC address setting
2014-01-11 21:31:28 +01:00
Matthias Schiffer
a626c9a165
gluon-core: remove left over 'EOF' from config script
2014-01-11 20:34:58 +01:00
Matthias Schiffer
1b9c8dcc0b
Don't accept router advertisements by default
2014-01-11 17:43:35 +01:00
Matthias Schiffer
1be0a7667f
Make package version depend on the site config version where necessary
2014-01-04 09:19:13 +01:00
Matthias Schiffer
4521362ce3
gluon-core: clean up upgrade main script
2013-10-09 21:56:32 +02:00
Matthias Schiffer
8b069954a0
gluon-core: clean up uci config
2013-10-03 18:54:59 +02:00
Matthias Schiffer
e73f79f392
Move some more configuration into the corrent packages, correctly configure multiple radios
2013-10-03 18:04:03 +02:00
Matthias Schiffer
00a97602a4
gluon-core: upgrade: fix directory movement
2013-10-01 21:38:21 +02:00
Matthias Schiffer
568cfbf398
gluon-core: ensure version stamp dir existence
2013-10-01 21:38:21 +02:00
Matthias Schiffer
d508728da6
gluon-core: fix typo
2013-10-01 21:38:21 +02:00
Matthias Schiffer
7771cd9f2e
gluon-core: make 001-sysconfig executable
2013-10-01 21:38:21 +02:00
Matthias Schiffer
2d93cad89d
gluon-core: always handle core scripts first
2013-10-01 21:38:21 +02:00
Matthias Schiffer
fa1774a4e6
Remove batman-adv specific parts of gluon-core
2013-10-01 21:38:21 +02:00
Matthias Schiffer
e684418cb3
Use odhcp6c for interface configuration
2013-09-30 18:47:46 +02:00
Matthias Schiffer
946438f215
gluon-core: remove deprecated accept_ra settings
2013-09-30 18:47:46 +02:00
Matthias Schiffer
f2d9bdaba7
Fix MAC address getters for current OpenWRT
2013-09-28 23:39:53 +02:00
Matthias Schiffer
4783a52a71
Add hostname prefix config
2013-09-28 23:13:57 +02:00
Matthias Schiffer
6543ef9725
Adjust some old scripts to gluon (TODO: reimplement backwards compatiblity)
2013-09-28 21:48:46 +02:00
Matthias Schiffer
05fb012ae4
Generate wifi config
2013-09-28 18:40:37 +02:00
Matthias Schiffer
eecf9b06fd
Move disable-services script to invariant directory
2013-01-31 16:24:29 +01:00
Matthias Schiffer
a7e22f30b3
Move batman-adv migration scripts to gluon-mesh-batman-adv package
2013-01-31 16:15:32 +01:00
Matthias Schiffer
0637c9fa6d
More makefiles for some basic packages
2013-01-31 11:36:18 +01:00
Matthias Schiffer
19b611f8ab
Add gluon-core package
...
This is the most basic core of the Gluon framework. Most upgrade scripts will
have to be rewritten and/or moved to other packages.
2013-01-31 10:23:27 +01:00