summaryrefslogtreecommitdiffhomepage
path: root/device.c
AgeCommit message (Collapse)Author
2016-02-01device: Fix possible segfaultHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-11-17device: fetch settings from external devices to make them usable for status ↵Felix Fietkau
output Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-11-17device: preserve orig_settings flags for querying device statusFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-09-10device: Resolve ifindex for external claimed devicesHans Dedecker
Fixes regression issues introduced by commit 3224b80 as external (PPP) device ifindex was not in sync with kernel device ifindex due to re-creation of the device by the PPP daemon Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-09-02device: Don't call set_state for external device in device_claimHans Dedecker
The function set_state disable is not called for external devices in device_release which means for external vlan/macvlan devices they won't be deleted. As a result of this the set_state enable call for external devices by device_claim fails as vlan/macvlan devices cannot be created since the device already exists in the kernel. Therefore move the external device check from device_set_state to device_claim so external vlan/macvlan devices are not created again and can also be external. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-09-02device: apply settings when existing device becomes externalHans Dedecker
Make sure device settings are applied when existing device becomes external Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-08-25bridge: Allow setting multicast_router optionLinus Lüssing
The multicast_router option of a bridge allows to control the forwarding behaviour of multicast packets independant of the listener state: * 0: Only forward if specific listener is present * 1 (default): Forward if specific listener or a multicast router was detected (currently only learned via query messages, no MRD support yet) * 2: Always forward any multicast traffic on this port Since MRD is not mandated you might end up with silent multicast routers (e.g. if your link has more than one multicast router; only one can become the selected, "noisy" querier). Here you might need a manual configuration option like the "multicast_router" option. Other scenarios where this can be useful are for instance: * Segmentation of IGMP/MLD domains together with ebtables * Dedicated bridge port for monitoring/debugging purposes Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2015-08-25bridge: Allow setting multicast_to_unicast optionLinus Lüssing
With this patch the multicast_to_unicast feature can be disabled for all wireless interfaces via an according option on the uci bridge interface. This patch also exports the setting information to wireless handler scripts. The hostapd script will need that information to determine whether to enable or disable ap-isolation, for instance. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2015-08-25netifd: Spawn device events when registering dependency in device_replaceHans Dedecker
Spawn device events when adding dependency in device_replace so the dependency installer gets the actual device status Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-08-25netifd: Remove obsolete device_set_present in device_replaceHans Dedecker
New device does not need to be set present as device_check_state called via device_init sets the device present after probing the kernel device Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-08-25netifd: Fix device usage after freeHans Dedecker
Prevent new device from being freed in device_replace when device_unlock is called along the function chain triggered by setting the old device as not present Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-08-25netifd: Fix SEG fault when device cannot be allocatedHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-07-19device: apply initial settings when creating an external deviceFelix Fietkau
Fixes RPS/XPS settings for wlan devices Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-07-03netifd: Add dadtransmits config optionHans Dedecker
Config option dadtransmits allows to configure the amount of Duplicate Address Detection probes to be sent Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-06-24Add mtu6 option to override IPv6 MTUSteven Barth
Signed-off-by: Steven Barth <steven@midlink.org>
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-17device: remove DEV_ATTR_IFNAME, it is unusedFelix Fietkau
Ensures that interfaces with only 'ifname' matching the device config don't cause iface->device_config to be set Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-03-22device: fix default initialization for RPS/XPSFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-03-22device: add support for configuring RPS/XPS (enabled by default if available)Felix 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-09netifd: Add option to configure base_reachable_time_ms for each deviceHans Dedecker
The UCI parameter neighreachabletime allows to control the hardware address to IP mapping lifetime in the neighbour table for both IPv4 and IPv6 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Signed-off-by: Jean-Francois Remy <jeff@melix.org>
2015-01-24device: force changes to be applied via state change if necessaryFelix 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-24device: move config apply handling to a helper functionFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-12-23netifd: Add mldversion config supportSteven Barth
Config support to set the MLD host version on device level; possible values are : 1 : MLDv1 2 : MLDv2 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Cleaned up and simplified. Signed-off-by: Steven Barth <steven@midlink.org>
2014-12-08netifd: Add igmpversion config supportHans Dedecker
Config support to set the IGMP host version on device level; possible values are : 1 : IGMPv1 2 : IGMPv2 3 : IGMPv3 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Cleand up and simplified Signed-off-by: Steven Barth <steven@midlink.org>
2014-11-19netifd: Add acceptlocal config supportHans Dedecker
Adds support to accept packets with local source address. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-11-19netifd: Add rpfilter config supportHans Dedecker
Reverse path filtering config support; possible values are: 0: no source validation 1|strict: strict mode as packet will be dropped if the incoming interface is not the best reverse path 2|loose: loose mode as packet will be dropped if the source address is not reachable via any interface Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-11-19netifd: Fix device ifindex overwrite when processing netlink event messagesHans Dedecker
When a device with the same name is deleted and created again in the kernel the ifindex changes. A race condition will occur when netlink event messages linked to the old device are processed and will thus overwrite the correct ifindex of the new device. Further make sure a valid ifindex is in place for both external and internal devices when setting the state to enabled. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-09-17netifd-device: add support for promisc settingMartin Hundebøll
Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
2014-07-30netifd: Set device down based on being a non external device in device_releaseHans Dedecker
Line up the device state manipulation by checking the external device parameter consistent and not the hotplug device parameter Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-06-26device: fall back to simple interface status check if not provided by the ↵Felix Fietkau
device type Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-05-06device: prevent interface up/down calls for external devicesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-04-26netifd: Add interface config support to enable/disable IPv6 in the kernel ↵Hans Dedecker
per device Main use case is being able to disable IPv6 on (a) WAN interface(s) when only IPv4 connectivity is offered or 6rd is used. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-03-11netifd: Fix bridge MTU setting when a bridge member is addedHans Dedecker
Reapply bridge mtu setting as adding a bridge member will override the bridge mtu in the kernel Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-02-27netifd: Link layer state awareness support on device levelHans Dedecker
Device layer is informed by netlink events regarding the link layer status. Link layer status change results in a DEV_EVENT_LINK_UP/DEV_EVENT_LINK_DOWN broadcast event for a given device. Depends on uloop error callback patch. Solves issue reported in https://dev.openwrt.org/ticket/14590 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Acked-by: Karl Vogel <karl.vogel@gmail.com>
2013-12-16device: prevent callbacks to device users that have been cleaned up alreadyFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-12-14Revert "netifd: Link layer state support on device level"Felix Fietkau
This reverts commit c439b52400978dd3799c66e1f632ee68d2c7c9eb.
2013-12-08netifd: Link layer state support on device levelHans Dedecker
Patch implements link layer state awareness (aka carrier detection) in netifd on device level. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2013-12-08netifd: Code style line/clean upHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2013-10-03device.c: report device type when claim failsFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-10-03device_add_user: return immediately if the new device is the same as the old ↵Felix Fietkau
device Signed-off-by: Felix Fietkau <nbd@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-15device: use safe_list for device event, fixes some hang issuesFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-02-10device: protect device event broadcast against simultaneous deletions of ↵Felix Fietkau
multiple receivers in the callback (can happen with aliases) Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2012-09-28device.c: use format_macaddr() helper to convert mac addresses to strings, ↵Jo-Philipp Wich
ether_ntoa() does not guarantee a canonical format
2012-07-12do not recreate or restart external devices on settings changes, apply them ↵Felix Fietkau
at runtime
2012-07-12add some debug messages for device user countFelix Fietkau
2012-07-05when specifying hotplug devices that already have existing configured ↵Felix Fietkau
devices, set the external flag