summaryrefslogtreecommitdiffhomepage
path: root/device.h
AgeCommit message (Collapse)Author
2016-02-01device: Support multicast config optionHans Dedecker
Make multicast device flag configurable by extending device attributes with the multicast attribute Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Signed-off-by: Nick Podolak <nicholas.podolak@dtechlabs.com>
2015-11-17device: preserve orig_settings flags for querying device statusFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-11-04device: Don't process link events anymore in device user specific callback ↵Hans Dedecker
handlers Set link_state for all device types via the device_set_link API as all devices are registered in the device tree list making it possible to always get the device via device_get. The decice link state parameter will now actually reflect the corresponding kernel device carrier state in all cases. Before this change a vlan/macvlan device could still have link_state enabled if an interface was brought down; this was the case when the parent vlan/macvlan device was still enabled as the netlink link_state event would be dropped for vlan/macvlan devices due to keep_link_state in the function cb_rtnl_event. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-09-10wireless: fix mcast_to_ucast handling, only apply it to AP modeFelix Fietkau
Fixes a regression that caused WDS stations to repeat packets back to the AP. Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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-25bridge: Fix multicast_to_unicast feature by hairpin+isolateLinus Lüssing
All IGMP and MLD versions suffer from a specific limitation (from a snooping switch perspective): Report suppression. Once a listener hears an IGMPv2/3 or MLDv1 report for the same group itself participates in then it might (if this listener is an IGMPv3 or MLDv2 listener) or will (if this is an IGMPv1/2 or MLDv1 listener) refrain from sending its own report. Therefore we might currently miss such surpressing listeners as they won't receive the multicast packet with the mangled, unicasted destination. Fixing this by first isolating the STAs and giving the bridge more control over traffic forwarding. E.g. refraining to forward listener reports to other STAs. For broadcast and unicast traffic to an STA on the same AP, the hairpin feature of the bridge will reflect such traffic back to the AP interface. However, if the AP interface is actually configured to isolate STAs, then hairpin is kept disabled. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
2015-08-25Changes for more readability.Yousong Zhou
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
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-19interface: allow an interface to specify device configs even when there are ↵Felix Fietkau
other interfaces attached to the same device Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-04-18device: add support for removing interface config on reloadFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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: 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: 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-10-20device: make link status detection optional for vlan devicesFelix Fietkau
Fixes a race condition that triggers endless link loss / detect calls when VLAN devices are created. Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2014-10-12netifd : Line up device.h include guardHans Dedecker
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-06-29bridge: enable multicast_to_unicast on all wireless bridge portsFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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-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-21netifd: Reload proto on topology changeHelmut Schaa
Introduce a new device event "topology change" that gets signaled by bridges on adding/removing members. On "topology changes" the proto handlers are requested to "renew" which is most useful for DHCP. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.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-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: 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-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-07-05alias: use a callback for managing device presence state, track alias deps ↵Felix Fietkau
in a separate list to avoid recursion issues
2012-07-05split alias support into a separate source file for better readabilityFelix Fietkau
2012-07-05fix ifname for alias+vlan chainsFelix Fietkau
2012-07-05device: export device_broadcast_eventFelix Fietkau
2012-06-07device: make device_set_disabled inline, add device_set_deferredFelix Fietkau
2012-05-04add copyright headersFelix Fietkau
2012-03-15parse tunnel devices from configFelix Fietkau
2012-03-04device: differentiate between DEV_CONFIG_APPLIED (no device up/down), and ↵Felix Fietkau
DEV_CONFIG_RESTART (device restart)
2012-01-22save and restore previous device settings when overriding them via configFelix Fietkau
2012-01-22move device settings to a separate structFelix Fietkau
2012-01-19allow devices to be disabled through a config optionFelix Fietkau
2011-12-04fix use-after-free on device free codepath due to recursion issues, and fix ↵Felix Fietkau
dev->parent refcounting issues
2011-11-04add a hotplug op for preparing an interface bridge so that it's ready when ↵Felix Fietkau
an external process adds interfaces