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
Felix Fietkau [Tue, 18 Oct 2011 23:00:32 +0000 (01:00 +0200)]
set the igmp snooping option for bridges
Felix Fietkau [Tue, 18 Oct 2011 22:51:10 +0000 (00:51 +0200)]
disable ipv6 for bridge member interfaces
Felix Fietkau [Tue, 18 Oct 2011 22:17:06 +0000 (00:17 +0200)]
add log messages for interface up/down
Felix Fietkau [Tue, 18 Oct 2011 22:14:51 +0000 (00:14 +0200)]
move log levels to netifd.h
Felix Fietkau [Tue, 18 Oct 2011 18:42:48 +0000 (20:42 +0200)]
on proto event IFPEV_DOWN, do not attempt to bring up interfaces that are no longer available
Felix Fietkau [Tue, 18 Oct 2011 18:41:23 +0000 (20:41 +0200)]
add support for alias devices, which are activated based on hotplug events containing the real device name
Felix Fietkau [Tue, 18 Oct 2011 18:39:14 +0000 (20:39 +0200)]
increase sleep time for dummy pppoe handler
Felix Fietkau [Tue, 18 Oct 2011 18:38:44 +0000 (20:38 +0200)]
proto-shell: reset l3 device if it was set before
Felix Fietkau [Tue, 18 Oct 2011 18:32:00 +0000 (20:32 +0200)]
display device and l3_device separately in ubus status
Felix Fietkau [Tue, 18 Oct 2011 18:12:08 +0000 (20:12 +0200)]
fix interrupted read checks in log collection
Felix Fietkau [Tue, 18 Oct 2011 17:19:02 +0000 (19:19 +0200)]
reset l3 dev on interface reload
Felix Fietkau [Tue, 18 Oct 2011 17:17:05 +0000 (19:17 +0200)]
defer releasing the l3 dev so that the generic code can take care of cleaning system settings
Felix Fietkau [Tue, 18 Oct 2011 16:18:24 +0000 (18:18 +0200)]
directly pass the device name to the device create function
Felix Fietkau [Tue, 18 Oct 2011 15:06:17 +0000 (17:06 +0200)]
add interface users (similar to device users)
Felix Fietkau [Tue, 18 Oct 2011 13:30:54 +0000 (15:30 +0200)]
clear errors before attempting to bring up an interface
Felix Fietkau [Sun, 16 Oct 2011 14:25:59 +0000 (16:25 +0200)]
fix infinite loop in logging when the logged process dies
Felix Fietkau [Sun, 16 Oct 2011 00:11:23 +0000 (02:11 +0200)]
add support for a user-configurable log level
Felix Fietkau [Sun, 16 Oct 2011 00:01:36 +0000 (02:01 +0200)]
add support for logging messages via syslog (or optionally stdout)
Felix Fietkau [Sat, 15 Oct 2011 22:42:29 +0000 (00:42 +0200)]
detach stdin/stdout/stderr from child processes, implement a separate logging pipe and relay log messages with prefix
Felix Fietkau [Sat, 15 Oct 2011 17:06:28 +0000 (19:06 +0200)]
add support for tracking open file descriptors of modules and closing them for created child processes
Felix Fietkau [Sat, 15 Oct 2011 15:42:25 +0000 (17:42 +0200)]
move netifd_start_process dir_fd to the data structure
Felix Fietkau [Sat, 15 Oct 2011 15:15:47 +0000 (17:15 +0200)]
when killed, kill pending child processes
Felix Fietkau [Sat, 15 Oct 2011 15:00:24 +0000 (17:00 +0200)]
keep track of all running child processes in one place