Felix Fietkau [Sun, 20 Jan 2013 15:45:59 +0000 (16:45 +0100)]
alias: rework device updates
Apply immediately if alias device is not claimed, otherwise defer until release
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Steven Barth [Wed, 16 Jan 2013 13:56:10 +0000 (14:56 +0100)]
alias: use layer 3 device instead of main device
Steven Barth [Tue, 15 Jan 2013 12:19:34 +0000 (13:19 +0100)]
Fix a race-condition in prefix-assignment
Felix Fietkau [Tue, 15 Jan 2013 10:08:19 +0000 (11:08 +0100)]
interface-ip: use calloc_a to get rid of an extra allocation
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 15 Jan 2013 10:00:23 +0000 (11:00 +0100)]
interface-ip: replace prefix_assignment_cmp with avl_strcmp
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 15 Jan 2013 09:57:14 +0000 (10:57 +0100)]
remove commented out TODO items
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Steven Barth [Tue, 8 Jan 2013 17:52:32 +0000 (18:52 +0100)]
Initial IPv6 prefix support
Signed-off-by: Steven Barth <steven@midlink.org>
Felix Fietkau [Tue, 15 Jan 2013 09:54:37 +0000 (10:54 +0100)]
add mac os x compat #define for in6_addr s6_addr32
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Jo-Philipp Wich [Sun, 13 Jan 2013 19:34:36 +0000 (20:34 +0100)]
system-linux.c: use uin64_t datatype to read and store interface statistics, pass values as u64 blob type
Nathan Hintz [Sun, 6 Jan 2013 02:41:45 +0000 (18:41 -0800)]
fix removal of unknown device
Netifd will crash if an attempt is made to remove a device that is not
known to netifd. For instance:
ubus call network.interface.lan remove_device "{ \"name\": \"xxx\" }"
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Felix Fietkau [Sat, 5 Jan 2013 15:13:29 +0000 (16:13 +0100)]
proto-shell: use calloc_a
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Sat, 5 Jan 2013 14:48:57 +0000 (15:48 +0100)]
utils.h: get rid of the duplicate BUILD_BUG_ON definition, use the one from libubox
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 31 Dec 2012 15:36:01 +0000 (16:36 +0100)]
use calloc_a for interface error allocations
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 31 Dec 2012 15:35:13 +0000 (16:35 +0100)]
interface: do not clear errors after an interface is marked as down, the user might like to read them
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Sat, 29 Dec 2012 17:54:54 +0000 (18:54 +0100)]
log: fix processing of incomplete lines
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 17 Dec 2012 22:22:46 +0000 (23:22 +0100)]
duplicate error subsystem and code for interface errors to prevent accessing stale data
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 17 Dec 2012 14:55:45 +0000 (15:55 +0100)]
netifd: stop using jshn_append
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 13 Dec 2012 16:13:43 +0000 (17:13 +0100)]
rewrite resolv.conf after any interface state change (not just up)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Wed, 5 Dec 2012 13:26:09 +0000 (14:26 +0100)]
rewrite resolv.conf after interface up setting updates
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Frank Meerkötter [Mon, 3 Dec 2012 18:29:16 +0000 (19:29 +0100)]
fix error checking of asprintf
see man asprintf
[...]
RETURN VALUE
When successful, these functions return the number of bytes printed, just like sprintf(3).
If memory allocation wasn't possible, or some other error occurs, these functions will return -1,
and the contents of strp is undefined.
Signed-off-by: Frank Meerkötter <frank@meerkoetter.org>
Felix Fietkau [Tue, 30 Oct 2012 00:21:35 +0000 (01:21 +0100)]
alias: add (and call) a check_state function to fix dynamically creating aliases for interfaces that are already up
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 30 Oct 2012 00:13:17 +0000 (01:13 +0100)]
fix container_of for the log ustream
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 30 Oct 2012 00:12:35 +0000 (01:12 +0100)]
move uloop_process_delete call to get rid of an unnecessary check
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 29 Oct 2012 23:50:47 +0000 (00:50 +0100)]
proto-shell: ensure that the teardown timeout gets killed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 29 Oct 2012 23:03:47 +0000 (00:03 +0100)]
log: the ustream notify_state callback is now optional, remove the stub
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 29 Oct 2012 22:55:14 +0000 (23:55 +0100)]
use ustream for process message logging
Felix Fietkau [Mon, 29 Oct 2012 22:08:01 +0000 (23:08 +0100)]
use FD_CLOEXEC instead of tracking lists of fds
Felix Fietkau [Fri, 19 Oct 2012 13:49:46 +0000 (15:49 +0200)]
bridge: toggle device present state after freeing a bridge member to ensure that it can be reassigned to a different bridge
Felix Fietkau [Fri, 19 Oct 2012 13:49:21 +0000 (15:49 +0200)]
free unused devices after cleaning up interfaces to get rid of recently-freed bridge devices
Felix Fietkau [Fri, 19 Oct 2012 13:48:52 +0000 (15:48 +0200)]
fix device_lock/device_unlock imbalances
Felix Fietkau [Fri, 28 Sep 2012 23:07:59 +0000 (01:07 +0200)]
system-linux: do not delete kernel-generated ipv6 routes to fix using advertised routes
Jo-Philipp Wich [Fri, 28 Sep 2012 15:41:08 +0000 (17:41 +0200)]
device.c: use format_macaddr() helper to convert mac addresses to strings, ether_ntoa() does not guarantee a canonical format
Jo-Philipp Wich [Fri, 28 Sep 2012 15:40:38 +0000 (17:40 +0200)]
utils.c: add helper function to format mac addresses as strings
Jo-Philipp Wich [Thu, 13 Sep 2012 07:24:12 +0000 (10:24 +0300)]
ubus.c: now that disabled routes are in the inactive subtable it makes no sense to expose the enabled attribute anymore
Jo-Philipp Wich [Thu, 13 Sep 2012 06:57:16 +0000 (09:57 +0300)]
ubus.c: move disabled routes, ips, dns server into an "inactive" subtable
Jo-Philipp Wich [Thu, 13 Sep 2012 06:56:14 +0000 (09:56 +0300)]
interface-ip.c: fix possible null pointer access if calloc() fails
Felix Fietkau [Thu, 6 Sep 2012 14:54:16 +0000 (16:54 +0200)]
add optional flag for disabling compiler optimization (debug only)
Felix Fietkau [Thu, 6 Sep 2012 14:53:50 +0000 (16:53 +0200)]
do not prematurely release the main dev on link loss, should fix DHCP NAK handling
Felix Fietkau [Thu, 6 Sep 2012 10:57:20 +0000 (12:57 +0200)]
clean up and fix system-dummy addr/route messages
Jo-Philipp Wich [Sat, 11 Aug 2012 16:01:28 +0000 (18:01 +0200)]
system-linux.c: install user routes with RTPROT_STATIC instead of RTPROT_BOOT so that routing daemons like quagga will pick it up
Felix Fietkau [Thu, 12 Jul 2012 21:48:29 +0000 (23:48 +0200)]
do not recreate or restart external devices on settings changes, apply them at runtime
Felix Fietkau [Thu, 12 Jul 2012 21:46:32 +0000 (23:46 +0200)]
apply basic device settings for hotplug devices, e.g. mtu and txqueuelen
Felix Fietkau [Thu, 12 Jul 2012 21:28:22 +0000 (23:28 +0200)]
add simple device config params to interface blob attributes, and add a flag that indicates if it is present
Felix Fietkau [Thu, 12 Jul 2012 21:25:21 +0000 (23:25 +0200)]
expose system_if_apply_settings, make it ignore the mac address for external devices
Felix Fietkau [Thu, 12 Jul 2012 21:20:38 +0000 (23:20 +0200)]
ensure hotplug devices are marked as present in the add path - they are not cleaned up if they have config settings attached to them
Felix Fietkau [Thu, 12 Jul 2012 21:20:01 +0000 (23:20 +0200)]
fix device_lock/device_unlock imbalance in the hotplug device handling
Felix Fietkau [Thu, 12 Jul 2012 21:17:38 +0000 (23:17 +0200)]
add some debug messages for device user count
Jo-Philipp Wich [Wed, 11 Jul 2012 18:22:42 +0000 (20:22 +0200)]
system-linux.c: fix sysctl setting
The system_set_dev_sysctl() function erroneously used the value instead of the
device name to format the sysctl path, this change corrects that.
Felix Fietkau [Thu, 5 Jul 2012 18:32:07 +0000 (20:32 +0200)]
when specifying hotplug devices that already have existing configured devices, set the external flag
Felix Fietkau [Thu, 5 Jul 2012 18:30:46 +0000 (20:30 +0200)]
avoid setting device presence for wifi interfaces via hotplug messages
Felix Fietkau [Thu, 5 Jul 2012 18:28:31 +0000 (20:28 +0200)]
alias: use a callback for managing device presence state, track alias deps in a separate list to avoid recursion issues
Felix Fietkau [Thu, 5 Jul 2012 17:58:46 +0000 (19:58 +0200)]
split alias support into a separate source file for better readability
Felix Fietkau [Thu, 5 Jul 2012 16:17:46 +0000 (18:17 +0200)]
zero-initialize the ifreq when adding/removing bridge member interfaces
Felix Fietkau [Thu, 5 Jul 2012 16:16:31 +0000 (18:16 +0200)]
zero-initialize the ifreq when setting interfaces up or down
Felix Fietkau [Thu, 5 Jul 2012 16:15:09 +0000 (18:15 +0200)]
memset the on-stack device route when clearing local subnet routes
Felix Fietkau [Thu, 5 Jul 2012 12:33:04 +0000 (14:33 +0200)]
make alias devices attach to interface l2 devs
Felix Fietkau [Thu, 5 Jul 2012 12:18:04 +0000 (14:18 +0200)]
fix ifname for alias+vlan chains
Felix Fietkau [Thu, 5 Jul 2012 13:08:55 +0000 (15:08 +0200)]
make vlan devices virtual to avoid avl tree issues with changing ifnames when bound to alias interfaces
Felix Fietkau [Thu, 5 Jul 2012 13:06:09 +0000 (15:06 +0200)]
device: initialize dev->set_state for virtual devices
Felix Fietkau [Thu, 5 Jul 2012 13:09:40 +0000 (15:09 +0200)]
device: export device_broadcast_event
Jo-Philipp Wich [Thu, 5 Jul 2012 11:57:25 +0000 (13:57 +0200)]
vlan.c: prevent segfault in get_vlan_device_chain() if the base device does not exist
Jo-Philipp Wich [Fri, 29 Jun 2012 11:27:27 +0000 (13:27 +0200)]
ubus.c: expose metric and mtu values if applicable
Jo-Philipp Wich [Fri, 29 Jun 2012 11:26:32 +0000 (13:26 +0200)]
interface-ip.{c,h}: add new flag DEVROUTE_MTU and set it for per-route mtu overrides
Jo-Philipp Wich [Thu, 28 Jun 2012 22:05:43 +0000 (00:05 +0200)]
ubus.c: expose route enabled state
Felix Fietkau [Tue, 26 Jun 2012 23:32:07 +0000 (01:32 +0200)]
bridge: fix getting the mac address from the first member device
Felix Fietkau [Thu, 21 Jun 2012 18:26:49 +0000 (20:26 +0200)]
add a #ifdef around the 6rd code to make it compile with older kernels that do not have 6rd support
Jo-Philipp Wich [Mon, 18 Jun 2012 22:48:12 +0000 (00:48 +0200)]
proto-shell.c: mark device present after reclaiming it, fixes ubus network.device status call after the protocol has been reconnected
Felix Fietkau [Mon, 18 Jun 2012 21:41:31 +0000 (23:41 +0200)]
add a route6 example to the dummy network config
Felix Fietkau [Mon, 18 Jun 2012 21:41:17 +0000 (23:41 +0200)]
add support for using <addr>/<mask> in route/route6 config sections
Jo-Philipp Wich [Mon, 18 Jun 2012 21:22:55 +0000 (23:22 +0200)]
netifd-proto.sh: execute proto_add_host_dependency() actions in subshell to retain callers environment
Felix Fietkau [Mon, 18 Jun 2012 21:19:27 +0000 (23:19 +0200)]
add support for defaultroute "host" dependencies
Felix Fietkau [Mon, 18 Jun 2012 21:18:31 +0000 (23:18 +0200)]
fix return code in interface_ip_add_target_route
Felix Fietkau [Mon, 18 Jun 2012 21:16:25 +0000 (23:16 +0200)]
fix a memleak in host route dependency handling
Stéphan Kochen [Sun, 17 Jun 2012 15:26:35 +0000 (17:26 +0200)]
Add 6rd options to tunnel spec.
This patch adds support for setting the 6rd tunnel options. These are the same
options normally specified with `ip tunnel 6rd ...`.
Signed-off-by: Stéphan Kochen <stephan@kochen.nl>
Stéphan Kochen [Sun, 17 Jun 2012 15:26:34 +0000 (17:26 +0200)]
Move IP address parsing functions to utils.
This is a patch series against the netifd repository.
This first patch moves some previously static functions to utils, so that the
follow up patch may use them from system-linux.c.
Signed-off-by: Stéphan Kochen <stephan@kochen.nl>
Felix Fietkau [Thu, 14 Jun 2012 16:48:33 +0000 (18:48 +0200)]
ignore mac80211 devices specified in /etc/config/network
Felix Fietkau [Thu, 7 Jun 2012 14:19:52 +0000 (16:19 +0200)]
device: add support for deferring bringup of devices
Felix Fietkau [Thu, 7 Jun 2012 13:58:32 +0000 (15:58 +0200)]
device: make device_set_disabled inline, add device_set_deferred
Felix Fietkau [Mon, 4 Jun 2012 18:19:53 +0000 (20:19 +0200)]
interface: clean up after hotplug interfaces are removed
Felix Fietkau [Mon, 4 Jun 2012 18:16:57 +0000 (20:16 +0200)]
device: show a bit more info if the device is not present
Felix Fietkau [Thu, 31 May 2012 16:18:52 +0000 (18:18 +0200)]
add an ubus method for dumping available protocol handlers
Felix Fietkau [Thu, 31 May 2012 16:11:36 +0000 (18:11 +0200)]
ubus: show proto handler in interface status
Felix Fietkau [Tue, 29 May 2012 00:33:13 +0000 (02:33 +0200)]
netifd: reconnect to ubus if the connection is lost
Felix Fietkau [Sat, 26 May 2012 15:56:41 +0000 (17:56 +0200)]
vlist is now part of libubox
Felix Fietkau [Sat, 26 May 2012 15:52:19 +0000 (17:52 +0200)]
avl_strcmp is now part of libubox
Felix Fietkau [Fri, 25 May 2012 07:54:13 +0000 (09:54 +0200)]
fix endian handling of the ipv4 broadcast address
Felix Fietkau [Thu, 24 May 2012 18:42:12 +0000 (20:42 +0200)]
bridge: keep existing mac address if specified in the config
Felix Fietkau [Wed, 23 May 2012 20:36:19 +0000 (22:36 +0200)]
preserve subnet routes on interface update by not putting them in the route vlist
Felix Fietkau [Wed, 23 May 2012 20:13:43 +0000 (22:13 +0200)]
add interface alias support
Felix Fietkau [Wed, 23 May 2012 20:07:03 +0000 (22:07 +0200)]
reset iface->config_state when handling it
Felix Fietkau [Wed, 23 May 2012 14:09:45 +0000 (16:09 +0200)]
bridge: set the mac address based on the first active member
Felix Fietkau [Sun, 20 May 2012 13:54:53 +0000 (15:54 +0200)]
export dns server and search list in the ubus interface status
Felix Fietkau [Sun, 20 May 2012 13:31:58 +0000 (15:31 +0200)]
flush list in vlist_replace()
Felix Fietkau [Sun, 20 May 2012 13:31:44 +0000 (15:31 +0200)]
fix argument order on replacing dns lists
Felix Fietkau [Sun, 20 May 2012 13:20:48 +0000 (15:20 +0200)]
do not replace proto_ip dns servers on config reload
Felix Fietkau [Sat, 19 May 2012 23:40:10 +0000 (01:40 +0200)]
replace the kernel's implicit network routes if the metric is set
Felix Fietkau [Sat, 19 May 2012 22:42:21 +0000 (00:42 +0200)]
pass interface route metric to routes when adding them
Felix Fietkau [Sat, 19 May 2012 22:39:23 +0000 (00:39 +0200)]
read interface route metric from config
Felix Fietkau [Sat, 19 May 2012 21:21:54 +0000 (23:21 +0200)]
move dns server/search list parsing to interface core to support peerdns=0 + static entries
Felix Fietkau [Sat, 19 May 2012 20:57:21 +0000 (22:57 +0200)]
implement a generic peerdns option to suppress proto handler dns entries