Felix Fietkau [Sun, 4 Mar 2012 00:14:26 +0000 (01:14 +0100)]
bridge: fix member list handling
Felix Fietkau [Sun, 4 Mar 2012 00:01:30 +0000 (01:01 +0100)]
remove redundant variable assignment
Felix Fietkau [Sat, 3 Mar 2012 23:45:21 +0000 (00:45 +0100)]
device: differentiate between DEV_CONFIG_APPLIED (no device up/down), and DEV_CONFIG_RESTART (device restart)
Felix Fietkau [Sat, 3 Mar 2012 23:42:35 +0000 (00:42 +0100)]
add BUILD_BUG_ON from the kernel
Felix Fietkau [Sat, 3 Mar 2012 23:31:50 +0000 (00:31 +0100)]
vlist: add a special node version -1 for nodes that should not be flushed on updates
Felix Fietkau [Sat, 3 Mar 2012 23:26:22 +0000 (00:26 +0100)]
bridge: use vlist instead of list
Felix Fietkau [Sat, 3 Mar 2012 23:02:38 +0000 (00:02 +0100)]
simplify vlist, move avl key handling to vlist_add()
Felix Fietkau [Sat, 3 Mar 2012 19:55:39 +0000 (20:55 +0100)]
do not bring down hotplug devices
Felix Fietkau [Sat, 3 Mar 2012 19:55:03 +0000 (20:55 +0100)]
preserve interface main hotplug device on reload
Felix Fietkau [Sat, 3 Mar 2012 19:21:53 +0000 (20:21 +0100)]
ubus: use interface_{add,remove}_link for hotplug ops
Felix Fietkau [Tue, 28 Feb 2012 00:05:35 +0000 (01:05 +0100)]
fix mac address parsing
Felix Fietkau [Mon, 27 Feb 2012 23:54:19 +0000 (00:54 +0100)]
fix mac address handling
Felix Fietkau [Sun, 26 Feb 2012 16:55:58 +0000 (17:55 +0100)]
minor cleanup
Felix Fietkau [Sun, 26 Feb 2012 16:49:03 +0000 (17:49 +0100)]
parse and use the broadcast option
Felix Fietkau [Sun, 26 Feb 2012 16:43:10 +0000 (17:43 +0100)]
move broadcast address handling to the core
Felix Fietkau [Sun, 26 Feb 2012 16:21:26 +0000 (17:21 +0100)]
make proto_parse_ip_addr_string() static
Felix Fietkau [Sun, 26 Feb 2012 16:20:00 +0000 (17:20 +0100)]
proto: move the dns search option handling to the core
Felix Fietkau [Sun, 26 Feb 2012 16:17:57 +0000 (17:17 +0100)]
proto-shell: process some common notify options using proto_apply_ip_settings()
Felix Fietkau [Sun, 26 Feb 2012 16:12:59 +0000 (17:12 +0100)]
proto: add an option for specifying external addresses using proto_apply_ip_settings()
Felix Fietkau [Sun, 26 Feb 2012 16:08:17 +0000 (17:08 +0100)]
move static address setup to proto.c in preparation for unifying it with the proto-shell code doing similar things
Felix Fietkau [Sun, 26 Feb 2012 15:51:48 +0000 (16:51 +0100)]
system-linux: fix the default broadcast address for v4
Felix Fietkau [Sun, 26 Feb 2012 15:38:06 +0000 (16:38 +0100)]
remove device_{route,addr}->device
Felix Fietkau [Wed, 15 Feb 2012 17:31:55 +0000 (18:31 +0100)]
set route metrics using netlink
Felix Fietkau [Wed, 15 Feb 2012 17:30:25 +0000 (18:30 +0100)]
initialize route->metric to -1
Felix Fietkau [Thu, 2 Feb 2012 23:15:04 +0000 (00:15 +0100)]
update the interface list version on config reload, fixes removing old interfaces
Felix Fietkau [Thu, 2 Feb 2012 23:14:50 +0000 (00:14 +0100)]
vlist: fix node version update for tree->keep_old/no_delete
Felix Fietkau [Tue, 24 Jan 2012 21:39:35 +0000 (22:39 +0100)]
remove an unnecessary check
Felix Fietkau [Tue, 24 Jan 2012 21:39:11 +0000 (22:39 +0100)]
make sure iface->proto_handler is always initialized
Felix Fietkau [Mon, 23 Jan 2012 23:52:32 +0000 (00:52 +0100)]
add a generic option for disabling the automatic default route on interfaces
Felix Fietkau [Mon, 23 Jan 2012 13:09:43 +0000 (14:09 +0100)]
always call device_set_disabled, even if the "enabled" attribute is not present
Felix Fietkau [Sun, 22 Jan 2012 18:19:10 +0000 (19:19 +0100)]
proto-shell: merge setup/teardown task into one
Felix Fietkau [Sun, 22 Jan 2012 18:11:19 +0000 (19:11 +0100)]
remove flags for device settings that could not be applied successfully
Felix Fietkau [Sun, 22 Jan 2012 18:09:50 +0000 (19:09 +0100)]
show mtu, macaddr and txqueuelen from cached device settings
Felix Fietkau [Sun, 22 Jan 2012 18:00:04 +0000 (19:00 +0100)]
save and restore previous device settings when overriding them via config
Felix Fietkau [Sun, 22 Jan 2012 17:43:36 +0000 (18:43 +0100)]
move device settings to a separate struct
Felix Fietkau [Sun, 22 Jan 2012 17:18:50 +0000 (18:18 +0100)]
query available/used device speeds via ethtool
Felix Fietkau [Sat, 21 Jan 2012 19:26:15 +0000 (20:26 +0100)]
always use SIGKILL for netifd_kill_process, it is usually a last resort
Felix Fietkau [Sat, 21 Jan 2012 19:25:15 +0000 (20:25 +0100)]
proto-shell: rework task statemachine
Make handling setup/proto/teardown tasks more explicit and easier to read.
Should hopefully prevent some forms of deadlocks.
Felix Fietkau [Thu, 19 Jan 2012 16:38:01 +0000 (17:38 +0100)]
add mac address to device info
Felix Fietkau [Thu, 19 Jan 2012 16:14:52 +0000 (17:14 +0100)]
export carrier status in device stats
Felix Fietkau [Wed, 18 Jan 2012 17:54:01 +0000 (18:54 +0100)]
allow devices to be disabled through a config option
Felix Fietkau [Sun, 15 Jan 2012 18:25:27 +0000 (19:25 +0100)]
use the simplified vlist type for dns servers/search
Felix Fietkau [Sun, 15 Jan 2012 18:25:03 +0000 (19:25 +0100)]
add a simplified vlist type
Felix Fietkau [Sun, 4 Dec 2011 19:16:49 +0000 (20:16 +0100)]
fix use-after-free on device free codepath due to recursion issues, and fix dev->parent refcounting issues
Felix Fietkau [Sun, 4 Dec 2011 19:16:14 +0000 (20:16 +0100)]
add dummy code for testing system_if_get_parent()
Felix Fietkau [Sun, 4 Dec 2011 19:07:02 +0000 (20:07 +0100)]
fix use-after-free on config reload
Felix Fietkau [Sun, 13 Nov 2011 16:12:49 +0000 (17:12 +0100)]
avoid deleting and re-adding duplicate ip addresses and routes, fixes tcp connection loss on dhcp rekey
Felix Fietkau [Tue, 8 Nov 2011 21:58:45 +0000 (22:58 +0100)]
do not hardcode config package in config_init_package()
Felix Fietkau [Fri, 4 Nov 2011 00:47:13 +0000 (01:47 +0100)]
add a hotplug op for preparing an interface bridge so that it's ready when an external process adds interfaces
Felix Fietkau [Thu, 3 Nov 2011 23:47:40 +0000 (00:47 +0100)]
bridge: fix cleanup path, avoid double free on hotplug device remove
Felix Fietkau [Thu, 3 Nov 2011 19:57:06 +0000 (20:57 +0100)]
fix interface event handling, suppress redundant down events
Felix Fietkau [Tue, 1 Nov 2011 21:54:42 +0000 (22:54 +0100)]
mark hotplug-added devices as external
Jens Muecke [Mon, 31 Oct 2011 14:47:55 +0000 (15:47 +0100)]
Add time.h include
Found on compiling for x64
Felix Fietkau [Thu, 27 Oct 2011 19:09:47 +0000 (21:09 +0200)]
proto-shell: handle the "available" config flag
Felix Fietkau [Thu, 27 Oct 2011 18:04:52 +0000 (20:04 +0200)]
proto-shell: prefix protocol callback functions with proto_
Felix Fietkau [Thu, 27 Oct 2011 09:01:32 +0000 (11:01 +0200)]
fold the _init callback into _init_config
Felix Fietkau [Thu, 27 Oct 2011 08:39:13 +0000 (10:39 +0200)]
proto-shell: add a notify command for setting interface availability
Felix Fietkau [Wed, 26 Oct 2011 18:12:32 +0000 (20:12 +0200)]
recognize stacked interfaces (e.g. dsa) and handle their dependencies
Felix Fietkau [Wed, 26 Oct 2011 17:30:05 +0000 (19:30 +0200)]
ensure that iface->proto_handler gets initialized
Felix Fietkau [Wed, 26 Oct 2011 17:14:52 +0000 (19:14 +0200)]
on reload, check for null ifname before comparing it
Felix Fietkau [Mon, 24 Oct 2011 18:46:23 +0000 (20:46 +0200)]
initialize dns server/search lists
Felix Fietkau [Mon, 24 Oct 2011 18:46:07 +0000 (20:46 +0200)]
fix a logic error leading to segfaults on updates
Felix Fietkau [Sun, 23 Oct 2011 17:20:35 +0000 (19:20 +0200)]
fix handling bridge interfaces with no initial device
Felix Fietkau [Sun, 23 Oct 2011 15:22:31 +0000 (17:22 +0200)]
fix system_if_check
Felix Fietkau [Sun, 23 Oct 2011 15:10:17 +0000 (17:10 +0200)]
parse kobject uevent messages for figuring out when network devices appear, RTM_NEWLINK is unreliable for some virtual devices, e.g. tap
Felix Fietkau [Sun, 23 Oct 2011 14:04:50 +0000 (16:04 +0200)]
add a function for creating a raw event socket that does not use genl or rtnl
Felix Fietkau [Sun, 23 Oct 2011 14:02:18 +0000 (16:02 +0200)]
remove some more code duplication
Felix Fietkau [Sun, 23 Oct 2011 13:41:53 +0000 (15:41 +0200)]
move code for creating an event socket to a function
Felix Fietkau [Sun, 23 Oct 2011 13:27:07 +0000 (15:27 +0200)]
move all variables belonging to the netlink event socket to a common data structure
Felix Fietkau [Sun, 23 Oct 2011 13:20:19 +0000 (15:20 +0200)]
drop the cleanup path in system_init, since system_init failures are fatal anyway
Felix Fietkau [Fri, 21 Oct 2011 01:36:26 +0000 (03:36 +0200)]
fix the exit status for the proto-shell task, use WEXITSTATUS
Felix Fietkau [Fri, 21 Oct 2011 01:12:19 +0000 (03:12 +0200)]
fix initial bridge member bringup
Felix Fietkau [Fri, 21 Oct 2011 00:43:28 +0000 (02:43 +0200)]
fix device claim on interface reload
Felix Fietkau [Fri, 21 Oct 2011 00:41:44 +0000 (02:41 +0200)]
fold __interface_set_up into interface_set_up
Felix Fietkau [Fri, 21 Oct 2011 00:38:36 +0000 (02:38 +0200)]
fix duplicate bridge addif
Felix Fietkau [Fri, 21 Oct 2011 00:16:39 +0000 (02:16 +0200)]
clean up interface state change handling
Felix Fietkau [Thu, 20 Oct 2011 23:44:26 +0000 (01:44 +0200)]
proto-shell: allow protocol handlers to add interface error messages and block interface restart
Felix Fietkau [Thu, 20 Oct 2011 23:28:36 +0000 (01:28 +0200)]
proto-shell: pass the return code of the proto task to the teardown handler
Felix Fietkau [Thu, 20 Oct 2011 23:04:05 +0000 (01:04 +0200)]
in log read, check for EINTR instead of EAGAIN to avoid infinite loops
Felix Fietkau [Thu, 20 Oct 2011 21:38:34 +0000 (23:38 +0200)]
try to grab log data more aggressively
Felix Fietkau [Thu, 20 Oct 2011 21:32:37 +0000 (23:32 +0200)]
fix segfaults in log line processing
Felix Fietkau [Thu, 20 Oct 2011 21:10:01 +0000 (23:10 +0200)]
reduce stack usage
Felix Fietkau [Thu, 20 Oct 2011 20:09:33 +0000 (22:09 +0200)]
proto-shell: fix parsing of long proto handler descriptions, simplify code
Felix Fietkau [Thu, 20 Oct 2011 17:20:43 +0000 (19:20 +0200)]
do not clear device state for devices created by proto-up with address-external set
Felix Fietkau [Thu, 20 Oct 2011 14:29:58 +0000 (16:29 +0200)]
fix path and invocation for hotplug calls
Felix Fietkau [Wed, 19 Oct 2011 20:43:14 +0000 (22:43 +0200)]
add support for configuring static routes
Felix Fietkau [Wed, 19 Oct 2011 20:13:10 +0000 (22:13 +0200)]
minor cleanup
Felix Fietkau [Wed, 19 Oct 2011 19:15:26 +0000 (21:15 +0200)]
add -Wmissing-declarations to cflags
Felix Fietkau [Wed, 19 Oct 2011 19:15:18 +0000 (21:15 +0200)]
make a few more functions static
Felix Fietkau [Wed, 19 Oct 2011 19:14:39 +0000 (21:14 +0200)]
fix interface_add_dns_search_list
Felix Fietkau [Wed, 19 Oct 2011 19:04:52 +0000 (21:04 +0200)]
rename config_init_interfaces to config_init_all
Felix Fietkau [Wed, 19 Oct 2011 19:03:34 +0000 (21:03 +0200)]
remove the argument to config_init_interfaces
Felix Fietkau [Wed, 19 Oct 2011 18:51:57 +0000 (20:51 +0200)]
rework route handling, move parser code to interface-ip.c, add extra options and add further support for pulling routes from config
Felix Fietkau [Wed, 19 Oct 2011 16:46:53 +0000 (18:46 +0200)]
add support for keeping multiple ip addr/route/dns lists
Felix Fietkau [Wed, 19 Oct 2011 15:32:01 +0000 (17:32 +0200)]
fix device_lock
Felix Fietkau [Wed, 19 Oct 2011 15:31:32 +0000 (17:31 +0200)]
include the DEVICE variable in hotplug events
Felix Fietkau [Wed, 19 Oct 2011 01:20:09 +0000 (03:20 +0200)]
rework device hotplug handling some more, add device_lock/device_unlock to prevent use-after-free bugs
Felix Fietkau [Wed, 19 Oct 2011 00:08:25 +0000 (02:08 +0200)]
rework and fix hotplug interface handling
Felix Fietkau [Tue, 18 Oct 2011 23:32:55 +0000 (01:32 +0200)]
apply device settings to simple devices with config specified from the interface section (legacy format compatibility), but only if no other config was provided
Felix Fietkau [Tue, 18 Oct 2011 23:12:15 +0000 (01:12 +0200)]
apply low level device settings