project/netifd.git
12 years agobridge: implement config reload support, preserves hotplug interfaces and adds fast...
Felix Fietkau [Mon, 5 Mar 2012 20:09:11 +0000 (21:09 +0100)]
bridge: implement config reload support, preserves hotplug interfaces and adds fast updates for adding/removing bridge members

12 years agosystem-linux: ignore errors in system_bridge_addif if the interface is already in...
Felix Fietkau [Mon, 5 Mar 2012 19:52:33 +0000 (20:52 +0100)]
system-linux: ignore errors in system_bridge_addif if the interface is already in the specified bridge

12 years agobridge: add a debug message when a device could not be added
Felix Fietkau [Mon, 5 Mar 2012 19:46:17 +0000 (20:46 +0100)]
bridge: add a debug message when a device could not be added

12 years agobridge: fix hotplug device removal
Felix Fietkau [Sun, 4 Mar 2012 00:18:45 +0000 (01:18 +0100)]
bridge: fix hotplug device removal

12 years agobridge: fix member list handling
Felix Fietkau [Sun, 4 Mar 2012 00:14:26 +0000 (01:14 +0100)]
bridge: fix member list handling

12 years agoremove redundant variable assignment
Felix Fietkau [Sun, 4 Mar 2012 00:01:30 +0000 (01:01 +0100)]
remove redundant variable assignment

12 years agodevice: differentiate between DEV_CONFIG_APPLIED (no device up/down), and DEV_CONFIG_...
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)

12 years agoadd BUILD_BUG_ON from the kernel
Felix Fietkau [Sat, 3 Mar 2012 23:42:35 +0000 (00:42 +0100)]
add BUILD_BUG_ON from the kernel

12 years agovlist: add a special node version -1 for nodes that should not be flushed on updates
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

12 years agobridge: use vlist instead of list
Felix Fietkau [Sat, 3 Mar 2012 23:26:22 +0000 (00:26 +0100)]
bridge: use vlist instead of list

12 years agosimplify vlist, move avl key handling to vlist_add()
Felix Fietkau [Sat, 3 Mar 2012 23:02:38 +0000 (00:02 +0100)]
simplify vlist, move avl key handling to vlist_add()

12 years agodo not bring down hotplug devices
Felix Fietkau [Sat, 3 Mar 2012 19:55:39 +0000 (20:55 +0100)]
do not bring down hotplug devices

12 years agopreserve interface main hotplug device on reload
Felix Fietkau [Sat, 3 Mar 2012 19:55:03 +0000 (20:55 +0100)]
preserve interface main hotplug device on reload

12 years agoubus: use interface_{add,remove}_link for hotplug ops
Felix Fietkau [Sat, 3 Mar 2012 19:21:53 +0000 (20:21 +0100)]
ubus: use interface_{add,remove}_link for hotplug ops

12 years agofix mac address parsing
Felix Fietkau [Tue, 28 Feb 2012 00:05:35 +0000 (01:05 +0100)]
fix mac address parsing

12 years agofix mac address handling
Felix Fietkau [Mon, 27 Feb 2012 23:54:19 +0000 (00:54 +0100)]
fix mac address handling

12 years agominor cleanup
Felix Fietkau [Sun, 26 Feb 2012 16:55:58 +0000 (17:55 +0100)]
minor cleanup

12 years agoparse and use the broadcast option
Felix Fietkau [Sun, 26 Feb 2012 16:49:03 +0000 (17:49 +0100)]
parse and use the broadcast option

12 years agomove broadcast address handling to the core
Felix Fietkau [Sun, 26 Feb 2012 16:43:10 +0000 (17:43 +0100)]
move broadcast address handling to the core

12 years agomake proto_parse_ip_addr_string() static
Felix Fietkau [Sun, 26 Feb 2012 16:21:26 +0000 (17:21 +0100)]
make proto_parse_ip_addr_string() static

12 years agoproto: move the dns search option handling to the core
Felix Fietkau [Sun, 26 Feb 2012 16:20:00 +0000 (17:20 +0100)]
proto: move the dns search option handling to the core

12 years agoproto-shell: process some common notify options using proto_apply_ip_settings()
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()

12 years agoproto: add an option for specifying external addresses 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()

12 years agomove static address setup to proto.c in preparation for unifying it with the proto...
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

12 years agosystem-linux: fix the default broadcast address for v4
Felix Fietkau [Sun, 26 Feb 2012 15:51:48 +0000 (16:51 +0100)]
system-linux: fix the default broadcast address for v4

12 years agoremove device_{route,addr}->device
Felix Fietkau [Sun, 26 Feb 2012 15:38:06 +0000 (16:38 +0100)]
remove device_{route,addr}->device

12 years agoset route metrics using netlink
Felix Fietkau [Wed, 15 Feb 2012 17:31:55 +0000 (18:31 +0100)]
set route metrics using netlink

12 years agoinitialize route->metric to -1
Felix Fietkau [Wed, 15 Feb 2012 17:30:25 +0000 (18:30 +0100)]
initialize route->metric to -1

12 years agoupdate the interface list version on config reload, fixes removing old interfaces
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

12 years agovlist: fix node version update for tree->keep_old/no_delete
Felix Fietkau [Thu, 2 Feb 2012 23:14:50 +0000 (00:14 +0100)]
vlist: fix node version update for tree->keep_old/no_delete

12 years agoremove an unnecessary check
Felix Fietkau [Tue, 24 Jan 2012 21:39:35 +0000 (22:39 +0100)]
remove an unnecessary check

12 years agomake sure iface->proto_handler is always initialized
Felix Fietkau [Tue, 24 Jan 2012 21:39:11 +0000 (22:39 +0100)]
make sure iface->proto_handler is always initialized

12 years agoadd a generic option for disabling the automatic default route on interfaces
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

12 years agoalways call device_set_disabled, even if the "enabled" attribute is not present
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

12 years agoproto-shell: merge setup/teardown task into one
Felix Fietkau [Sun, 22 Jan 2012 18:19:10 +0000 (19:19 +0100)]
proto-shell: merge setup/teardown task into one

12 years agoremove flags for device settings that could not be applied successfully
Felix Fietkau [Sun, 22 Jan 2012 18:11:19 +0000 (19:11 +0100)]
remove flags for device settings that could not be applied successfully

12 years agoshow mtu, macaddr and txqueuelen from cached device settings
Felix Fietkau [Sun, 22 Jan 2012 18:09:50 +0000 (19:09 +0100)]
show mtu, macaddr and txqueuelen from cached device settings

12 years agosave and restore previous device settings when overriding them via config
Felix Fietkau [Sun, 22 Jan 2012 18:00:04 +0000 (19:00 +0100)]
save and restore previous device settings when overriding them via config

12 years agomove device settings to a separate struct
Felix Fietkau [Sun, 22 Jan 2012 17:43:36 +0000 (18:43 +0100)]
move device settings to a separate struct

12 years agoquery available/used device speeds via ethtool
Felix Fietkau [Sun, 22 Jan 2012 17:18:50 +0000 (18:18 +0100)]
query available/used device speeds via ethtool

12 years agoalways use SIGKILL for netifd_kill_process, it is usually a last resort
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

12 years agoproto-shell: rework task statemachine
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.

12 years agoadd mac address to device info
Felix Fietkau [Thu, 19 Jan 2012 16:38:01 +0000 (17:38 +0100)]
add mac address to device info

12 years agoexport carrier status in device stats
Felix Fietkau [Thu, 19 Jan 2012 16:14:52 +0000 (17:14 +0100)]
export carrier status in device stats

12 years agoallow devices to be disabled through a config option
Felix Fietkau [Wed, 18 Jan 2012 17:54:01 +0000 (18:54 +0100)]
allow devices to be disabled through a config option

12 years agouse the simplified vlist type for dns servers/search
Felix Fietkau [Sun, 15 Jan 2012 18:25:27 +0000 (19:25 +0100)]
use the simplified vlist type for dns servers/search

12 years agoadd a simplified vlist type
Felix Fietkau [Sun, 15 Jan 2012 18:25:03 +0000 (19:25 +0100)]
add a simplified vlist type

12 years agofix use-after-free on device free codepath due to recursion issues, and fix dev-...
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

12 years agoadd dummy code for testing system_if_get_parent()
Felix Fietkau [Sun, 4 Dec 2011 19:16:14 +0000 (20:16 +0100)]
add dummy code for testing system_if_get_parent()

12 years agofix use-after-free on config reload
Felix Fietkau [Sun, 4 Dec 2011 19:07:02 +0000 (20:07 +0100)]
fix use-after-free on config reload

12 years agoavoid deleting and re-adding duplicate ip addresses and routes, fixes tcp connection...
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

12 years agodo not hardcode config package in config_init_package()
Felix Fietkau [Tue, 8 Nov 2011 21:58:45 +0000 (22:58 +0100)]
do not hardcode config package in config_init_package()

12 years agoadd a hotplug op for preparing an interface bridge so that it's ready when an externa...
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

12 years agobridge: fix cleanup path, avoid double free on hotplug device remove
Felix Fietkau [Thu, 3 Nov 2011 23:47:40 +0000 (00:47 +0100)]
bridge: fix cleanup path, avoid double free on hotplug device remove

12 years agofix interface event handling, suppress redundant down events
Felix Fietkau [Thu, 3 Nov 2011 19:57:06 +0000 (20:57 +0100)]
fix interface event handling, suppress redundant down events

12 years agomark hotplug-added devices as external
Felix Fietkau [Tue, 1 Nov 2011 21:54:42 +0000 (22:54 +0100)]
mark hotplug-added devices as external

12 years agoAdd time.h include
Jens Muecke [Mon, 31 Oct 2011 14:47:55 +0000 (15:47 +0100)]
Add time.h include

Found on compiling for x64

12 years agoproto-shell: handle the "available" config flag
Felix Fietkau [Thu, 27 Oct 2011 19:09:47 +0000 (21:09 +0200)]
proto-shell: handle the "available" config flag

12 years agoproto-shell: prefix protocol callback functions with proto_
Felix Fietkau [Thu, 27 Oct 2011 18:04:52 +0000 (20:04 +0200)]
proto-shell: prefix protocol callback functions with proto_

12 years agofold the _init callback into _init_config
Felix Fietkau [Thu, 27 Oct 2011 09:01:32 +0000 (11:01 +0200)]
fold the _init callback into _init_config

12 years agoproto-shell: add a notify command for setting interface availability
Felix Fietkau [Thu, 27 Oct 2011 08:39:13 +0000 (10:39 +0200)]
proto-shell: add a notify command for setting interface availability

12 years agorecognize stacked interfaces (e.g. dsa) and handle their dependencies
Felix Fietkau [Wed, 26 Oct 2011 18:12:32 +0000 (20:12 +0200)]
recognize stacked interfaces (e.g. dsa) and handle their dependencies

12 years agoensure that iface->proto_handler gets initialized
Felix Fietkau [Wed, 26 Oct 2011 17:30:05 +0000 (19:30 +0200)]
ensure that iface->proto_handler gets initialized

12 years agoon reload, check for null ifname before comparing it
Felix Fietkau [Wed, 26 Oct 2011 17:14:52 +0000 (19:14 +0200)]
on reload, check for null ifname before comparing it

12 years agoinitialize dns server/search lists
Felix Fietkau [Mon, 24 Oct 2011 18:46:23 +0000 (20:46 +0200)]
initialize dns server/search lists

12 years agofix a logic error leading to segfaults on updates
Felix Fietkau [Mon, 24 Oct 2011 18:46:07 +0000 (20:46 +0200)]
fix a logic error leading to segfaults on updates

12 years agofix handling bridge interfaces with no initial device
Felix Fietkau [Sun, 23 Oct 2011 17:20:35 +0000 (19:20 +0200)]
fix handling bridge interfaces with no initial device

12 years agofix system_if_check
Felix Fietkau [Sun, 23 Oct 2011 15:22:31 +0000 (17:22 +0200)]
fix system_if_check

12 years agoparse kobject uevent messages for figuring out when network devices appear, RTM_NEWLI...
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

12 years agoadd a function for creating a raw event socket that does not use genl or rtnl
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

12 years agoremove some more code duplication
Felix Fietkau [Sun, 23 Oct 2011 14:02:18 +0000 (16:02 +0200)]
remove some more code duplication

12 years agomove code for creating an event socket to a function
Felix Fietkau [Sun, 23 Oct 2011 13:41:53 +0000 (15:41 +0200)]
move code for creating an event socket to a function

12 years agomove all variables belonging to the netlink event socket to a common data structure
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

12 years agodrop the cleanup path in system_init, since system_init failures are fatal anyway
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

12 years agofix the exit status for the proto-shell task, use WEXITSTATUS
Felix Fietkau [Fri, 21 Oct 2011 01:36:26 +0000 (03:36 +0200)]
fix the exit status for the proto-shell task, use WEXITSTATUS

12 years agofix initial bridge member bringup
Felix Fietkau [Fri, 21 Oct 2011 01:12:19 +0000 (03:12 +0200)]
fix initial bridge member bringup

12 years agofix device claim on interface reload
Felix Fietkau [Fri, 21 Oct 2011 00:43:28 +0000 (02:43 +0200)]
fix device claim on interface reload

12 years agofold __interface_set_up into interface_set_up
Felix Fietkau [Fri, 21 Oct 2011 00:41:44 +0000 (02:41 +0200)]
fold __interface_set_up into interface_set_up

12 years agofix duplicate bridge addif
Felix Fietkau [Fri, 21 Oct 2011 00:38:36 +0000 (02:38 +0200)]
fix duplicate bridge addif

12 years agoclean up interface state change handling
Felix Fietkau [Fri, 21 Oct 2011 00:16:39 +0000 (02:16 +0200)]
clean up interface state change handling

12 years agoproto-shell: allow protocol handlers to add interface error messages and block interf...
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

12 years agoproto-shell: pass the return code of the proto task to the teardown handler
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

12 years agoin log read, check for EINTR instead of EAGAIN to avoid infinite loops
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

12 years agotry to grab log data more aggressively
Felix Fietkau [Thu, 20 Oct 2011 21:38:34 +0000 (23:38 +0200)]
try to grab log data more aggressively

12 years agofix segfaults in log line processing
Felix Fietkau [Thu, 20 Oct 2011 21:32:37 +0000 (23:32 +0200)]
fix segfaults in log line processing

12 years agoreduce stack usage
Felix Fietkau [Thu, 20 Oct 2011 21:10:01 +0000 (23:10 +0200)]
reduce stack usage

12 years agoproto-shell: fix parsing of long proto handler descriptions, simplify code
Felix Fietkau [Thu, 20 Oct 2011 20:09:33 +0000 (22:09 +0200)]
proto-shell: fix parsing of long proto handler descriptions, simplify code

12 years agodo not clear device state for devices created by proto-up with address-external set
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

12 years agofix path and invocation for hotplug calls
Felix Fietkau [Thu, 20 Oct 2011 14:29:58 +0000 (16:29 +0200)]
fix path and invocation for hotplug calls

12 years agoadd support for configuring static routes
Felix Fietkau [Wed, 19 Oct 2011 20:43:14 +0000 (22:43 +0200)]
add support for configuring static routes

12 years agominor cleanup
Felix Fietkau [Wed, 19 Oct 2011 20:13:10 +0000 (22:13 +0200)]
minor cleanup

12 years agoadd -Wmissing-declarations to cflags
Felix Fietkau [Wed, 19 Oct 2011 19:15:26 +0000 (21:15 +0200)]
add -Wmissing-declarations to cflags

12 years agomake a few more functions static
Felix Fietkau [Wed, 19 Oct 2011 19:15:18 +0000 (21:15 +0200)]
make a few more functions static

12 years agofix interface_add_dns_search_list
Felix Fietkau [Wed, 19 Oct 2011 19:14:39 +0000 (21:14 +0200)]
fix interface_add_dns_search_list

12 years agorename config_init_interfaces to config_init_all
Felix Fietkau [Wed, 19 Oct 2011 19:04:52 +0000 (21:04 +0200)]
rename config_init_interfaces to config_init_all

12 years agoremove the argument to config_init_interfaces
Felix Fietkau [Wed, 19 Oct 2011 19:03:34 +0000 (21:03 +0200)]
remove the argument to config_init_interfaces

12 years agorework route handling, move parser code to interface-ip.c, add extra options and...
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

12 years agoadd support for keeping multiple ip addr/route/dns lists
Felix Fietkau [Wed, 19 Oct 2011 16:46:53 +0000 (18:46 +0200)]
add support for keeping multiple ip addr/route/dns lists

12 years agofix device_lock
Felix Fietkau [Wed, 19 Oct 2011 15:32:01 +0000 (17:32 +0200)]
fix device_lock

12 years agoinclude the DEVICE variable in hotplug events
Felix Fietkau [Wed, 19 Oct 2011 15:31:32 +0000 (17:31 +0200)]
include the DEVICE variable in hotplug events