summaryrefslogtreecommitdiffhomepage
path: root/config.c
AgeCommit message (Collapse)Author
2020-11-05bridge: only overwrite implicit vlan assignment if vlans are configuredHEADmasterFelix Fietkau
When VLAN filtering is enabled, but no vlans are defined, the implicit VLANs should stay, so that forwarding between ports still works. This is useful for setups where VLANs are assigned by external scripts instead of being configured via netifd Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-10-28bridge: add support for defining port member vlans via hotplug opsFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-07-19config: enable bridge vlan filtering by default for bridges that define VLANsFelix Fietkau
Only enables it if the config option is not present. It can still be disabled. Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-07-19bridge: add support for VLAN filteringFelix Fietkau
VLANs can be defined using bridge-vlan sections, like the following example: config bridge-vlan option device 'switch0' option vlan '1' option ports "lan1 lan2 lan3 lan4:t*" Each member port can be confgured with optional attributes after ':' - t: member port is tagged - *: This is the primary VLAN for the port (PVID) VLAN member interfaces are automatically added as bridge members Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-06-04netifd: wireless: add support for tracking wifi-station sectionsJohn Crispin
This new section allows us to assign mac specific key/vid settings to a station. Signed-off-by: John Crispin <john@phrozen.org>
2020-06-04netifd: wireless: add support for tracking wifi-vlan sectionsJohn Crispin
This new section allows us to create apvlan settings for hostapd. Signed-off-by: John Crispin <john@phrozen.org>
2019-04-15interface: add neighbor config supportmeurisa
The neighbor or neighbor6 network section makes neighbours configurable via UCI or proto shell handlers. It allows to install neighbor proxy entries or static neighbor entries The neighbor or neighbor6 section has the following types: interface : declares the logical OpenWrt interface ipaddr : the ip address of the neighbor mac : the mac address of the neighbor proxy : specifies whether the neighbor ia a proxy entry (can be 1 or 0) router : specifies whether the neighbor is a router (can be 1 or 0) Signed-off-by: Alexander Meuris <meurisalexander@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-11-26config: fix resource leaks on error in config_parse_interface()Hans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-11-13interface: rework code to get rid of interface_set_dynamicHans Dedecker
Integrate dynamic interface creation code into interface_alloc and __interface_add so we can get rid of interface_set_dynamic Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-02-26remove rps/xps configuration supportFelix Fietkau
It is overly complex, yet does not cover common scenarios very well. It will be replaced with a simpler shell script that provides a better default policy Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-10-06config: suppress error if no wireless config present (FS#1030)Hans Dedecker
Wireless config is optional as not all targets have a wireless interface; therefore don't report an error if the wireless config is missing so network reload is not reporting an error to the user. While at it use netifd_log_message to print an error if the config cannot be loaded. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-08-22allow setting rps/xps defualt values via uciJohn Crispin
Signed-off-by: John Crispin <john@phrozen.org>
2017-04-05netifd: propagate error code on netifd_reload()Alexandru Ardelean
The context is that we generate some of the UCI config for netifd via scripts/programs. Every once in a while, there's a goof when doing that UCI generation, and netifd prints out the error at stderr, but returns 0 (success) err-code. This change will fail the ubus call if UCI config is invalid or missing for /etc/config/network. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com>
2016-08-26device: add device handler listArne Kappen
Device handlers now also declare if they have bridge capabilities and include a string to prefix device names for their types. Signed-off-by: Arne Kappen <akappen@inet.tu-berlin.de> Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup/fixes]
2016-08-26device: prepare for adding device handlers dynamicallyArne Kappen
- remove const from device handler struct - pass device handler type to create function Signed-off-by: Arne Kappen <akappen@inet.tu-berlin.de> Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup]
2015-05-12netifd: Support for configurable default packet steering behaviorHans Dedecker
The default packet steering behavior can be configured via the parameter default_ps in the global section; the default value is true to keep backwards compatibility. Device packet steering (rps/xps) config can still be used to override the default behavior. This allows you to disable packet steering for all devices without the need to define a device config list which disables receive/transmit packet steering Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-04-19interface: remove obsolete device config apply codeFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-03-19netifd:Make sure interface device config is also cachedHans Dedecker
Fixes issue interface device config is not applied in some cases. As the interface device config was applied but not always cached; an interface device config diff was not always detected. Simplify device config setting by exposing as api only device_apply_config Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-02-17netifd: Set interface device config when device has old settingsHans Dedecker
If interface device settings are removed in UCI they were not removed in the device settings; calling device_set_config when device settings are present solves this. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-02-16Revert "interface: do not set device_config where only the ifname option ↵Felix Fietkau
matches" This reverts commit 8dd2eedafccc9f898d391b93a59efb1412c5b5e9. This commit was reported to cause a regression with setting MTU on interfaces. Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-02-09netifd: Remove unnecessary default_config check in config_parse_interfaceHans Dedecker
No need to check default_config twice as it's already checked in config_parse_interface Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-02-09netifd: set current_config for simple devices when parsing device configHans Dedecker
If currrent_config is not set when the simple device config is applied the device will be deleted in device_reset_old Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-01-24interface: suppress unnecessary device config overridesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-01-24device: simplify config blob memory allocation handlingFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-01-24interface: do not set device_config where only the ifname option matchesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-01-24device: apply config changes from device sectionsFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-01-23device: set dev->default_config to false for devices parsed from configFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-01-23device: add support for specifying a configuration for simple vlan devicesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-10-24config: use sprintf instead of asprintfFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-10-07config: define _GNU_SOURCE for asprintfFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-10-04wireless: display anonymous interface section names using index based ↵Felix Fietkau
extended syntax Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-06-11Reorder alfabetically device type matching as they are growing in numberGioacchino Mazzurco
Signed-off-by: Gioacchino Mazzurco <gmazzurco89@gmail.com>
2014-06-11Add vlan 802.1q/802.1ad support as netifd devicesGioacchino Mazzurco
At moment netifd supports just 802.1q vlan, you can configure them using a concise but "hacky" syntax using an interface config section, with this patch netifd acquire the capability of configuring 802.1ad and 802.1q vlan using config device sections, so you can define a vlan device plus interface with something like this: config device 'test' option type '8021ad' option name 'test' option ifname 'eth0' option vid '1000' config interface 'testif' option ifname 'test' option proto 'none' option auto '1' old syntax for 802.1q keeps working so no retrocompatibility problems, to keep retrocompatibility means also that user must not use name/ifname like eth0.2 for devices declared with the new style because this would trigger the "old style" when interface config section is parsed Signed-off-by: Gioacchino Mazzurco <gmazzurco89@gmail.com>
2014-04-21config: add support for disabling interfacesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-03-31config: ignore config parser errorsFelix Fietkau
This helps with keeping routers reachable when there are typos in the network config. Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-03-19uci: Allow setting the UCI config path on the command lineMatthias Schiffer
Add a -c switch which allows setting an alternative UCI path instead of using the libuci default. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2013-11-30wireless: show the virtual interface section name in wireless statusFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-11-29add initial support for handling wireless devices via scriptsFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-10-19interface: rework code to get rid of arbitrary IFNAMSIZ limitation for ↵Felix Fietkau
interface names Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-10-19interface: remove "dynamic" argument for interface_init, add the ↵Felix Fietkau
interface_set_dynamic function instead Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-10-17Add ubus function to create nested interfacesSteven Barth
2013-10-03device: add macvlan supportFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2013-06-10config: use the new uci_blob library codeFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-06-10config: replace config_memdup with blob_memdup from libuboxFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-04-04Add support for ip rulesJo-Philipp Wich
2013-04-03Rewrite IPv6 prefix assignmentSteven Barth
2013-01-15Initial IPv6 prefix supportSteven Barth
Signed-off-by: Steven Barth <steven@midlink.org>
2012-10-19free unused devices after cleaning up interfaces to get rid of ↵Felix Fietkau
recently-freed bridge devices
2012-07-12add simple device config params to interface blob attributes, and add a flag ↵Felix Fietkau
that indicates if it is present
2012-05-23add interface alias supportFelix Fietkau