oweals/netifd.git
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

13 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

13 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()

13 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

13 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

13 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

13 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

13 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

13 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

13 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_

13 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

13 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

13 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

13 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

13 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

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

13 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

13 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

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

13 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

13 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

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

13 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

13 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

13 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

13 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

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

13 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

13 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

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

13 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

13 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

13 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

13 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

13 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

13 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

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

13 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

13 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

13 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

13 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

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

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

13 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

13 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

13 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

13 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

13 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

13 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

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

13 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

13 years agorework device hotplug handling some more, add device_lock/device_unlock to prevent...
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

13 years agorework and fix hotplug interface handling
Felix Fietkau [Wed, 19 Oct 2011 00:08:25 +0000 (02:08 +0200)]
rework and fix hotplug interface handling

13 years agoapply device settings to simple devices with config specified from the interface...
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

13 years agoapply low level device settings
Felix Fietkau [Tue, 18 Oct 2011 23:12:15 +0000 (01:12 +0200)]
apply low level device settings

13 years agoset the igmp snooping option for bridges
Felix Fietkau [Tue, 18 Oct 2011 23:00:32 +0000 (01:00 +0200)]
set the igmp snooping option for bridges

13 years agodisable ipv6 for bridge member interfaces
Felix Fietkau [Tue, 18 Oct 2011 22:51:10 +0000 (00:51 +0200)]
disable ipv6 for bridge member interfaces

13 years agoadd log messages for interface up/down
Felix Fietkau [Tue, 18 Oct 2011 22:17:06 +0000 (00:17 +0200)]
add log messages for interface up/down

13 years agomove log levels to netifd.h
Felix Fietkau [Tue, 18 Oct 2011 22:14:51 +0000 (00:14 +0200)]
move log levels to netifd.h

13 years agoon proto event IFPEV_DOWN, do not attempt to bring up interfaces that are no longer...
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

13 years agoadd support for alias devices, which are activated based on hotplug events containing...
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

13 years agoincrease sleep time for dummy pppoe handler
Felix Fietkau [Tue, 18 Oct 2011 18:39:14 +0000 (20:39 +0200)]
increase sleep time for dummy pppoe handler

13 years agoproto-shell: reset l3 device if it was set before
Felix Fietkau [Tue, 18 Oct 2011 18:38:44 +0000 (20:38 +0200)]
proto-shell: reset l3 device if it was set before

13 years agodisplay device and l3_device separately in ubus status
Felix Fietkau [Tue, 18 Oct 2011 18:32:00 +0000 (20:32 +0200)]
display device and l3_device separately in ubus status

13 years agofix interrupted read checks in log collection
Felix Fietkau [Tue, 18 Oct 2011 18:12:08 +0000 (20:12 +0200)]
fix interrupted read checks in log collection

13 years agoreset l3 dev on interface reload
Felix Fietkau [Tue, 18 Oct 2011 17:19:02 +0000 (19:19 +0200)]
reset l3 dev on interface reload

13 years agodefer releasing the l3 dev so that the generic code can take care of cleaning system...
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

13 years agodirectly pass the device name to the device create function
Felix Fietkau [Tue, 18 Oct 2011 16:18:24 +0000 (18:18 +0200)]
directly pass the device name to the device create function

13 years agoadd interface users (similar to device users)
Felix Fietkau [Tue, 18 Oct 2011 15:06:17 +0000 (17:06 +0200)]
add interface users (similar to device users)

13 years agoclear errors before attempting to bring up an interface
Felix Fietkau [Tue, 18 Oct 2011 13:30:54 +0000 (15:30 +0200)]
clear errors before attempting to bring up an interface

13 years agofix infinite loop in logging when the logged process dies
Felix Fietkau [Sun, 16 Oct 2011 14:25:59 +0000 (16:25 +0200)]
fix infinite loop in logging when the logged process dies

13 years agoadd support for a user-configurable log level
Felix Fietkau [Sun, 16 Oct 2011 00:11:23 +0000 (02:11 +0200)]
add support for a user-configurable log level

13 years agoadd support for logging messages via syslog (or optionally stdout)
Felix Fietkau [Sun, 16 Oct 2011 00:01:36 +0000 (02:01 +0200)]
add support for logging messages via syslog (or optionally stdout)

13 years agodetach stdin/stdout/stderr from child processes, implement a separate logging pipe...
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

13 years agoadd support for tracking open file descriptors of modules and closing them for create...
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

13 years agomove netifd_start_process dir_fd to the data structure
Felix Fietkau [Sat, 15 Oct 2011 15:42:25 +0000 (17:42 +0200)]
move netifd_start_process dir_fd to the data structure

13 years agowhen killed, kill pending child processes
Felix Fietkau [Sat, 15 Oct 2011 15:15:47 +0000 (17:15 +0200)]
when killed, kill pending child processes

13 years agokeep track of all running child processes in one place
Felix Fietkau [Sat, 15 Oct 2011 15:00:24 +0000 (17:00 +0200)]
keep track of all running child processes in one place

13 years agoclear existing addresses/routes on interfaces when clearing other state
Felix Fietkau [Fri, 14 Oct 2011 03:59:36 +0000 (05:59 +0200)]
clear existing addresses/routes on interfaces when clearing other state

13 years agoflush routes after bringing up/down an interface
Felix Fietkau [Fri, 14 Oct 2011 02:40:44 +0000 (04:40 +0200)]
flush routes after bringing up/down an interface

13 years agofix adding routes
Felix Fietkau [Fri, 14 Oct 2011 01:35:52 +0000 (03:35 +0200)]
fix adding routes

13 years agoproto-shell: fix parsing route netmask
Felix Fietkau [Fri, 14 Oct 2011 01:18:46 +0000 (03:18 +0200)]
proto-shell: fix parsing route netmask

13 years agofix passing routes to netifd
Felix Fietkau [Fri, 14 Oct 2011 01:14:06 +0000 (03:14 +0200)]
fix passing routes to netifd

13 years agouse json_close_object instead of json_close_table
Felix Fietkau [Fri, 14 Oct 2011 00:46:31 +0000 (02:46 +0200)]
use json_close_object instead of json_close_table

13 years agoproto-shell: for default routes push a string instead of an integer as netmask
Felix Fietkau [Fri, 14 Oct 2011 00:44:19 +0000 (02:44 +0200)]
proto-shell: for default routes push a string instead of an integer as netmask

13 years agoproto-shell: allow proto handlers to export variables to child processes
Felix Fietkau [Thu, 13 Oct 2011 23:19:06 +0000 (01:19 +0200)]
proto-shell: allow proto handlers to export variables to child processes

13 years agoproto-shell: add dns search domains
Felix Fietkau [Thu, 13 Oct 2011 22:47:17 +0000 (00:47 +0200)]
proto-shell: add dns search domains

13 years agoproto-shell: allow passing netmask in ip address format
Felix Fietkau [Thu, 13 Oct 2011 22:30:54 +0000 (00:30 +0200)]
proto-shell: allow passing netmask in ip address format

13 years agoproto-shell: allow proto setups without ifname (if interface main dev is present)
Felix Fietkau [Thu, 13 Oct 2011 22:09:16 +0000 (00:09 +0200)]
proto-shell: allow proto setups without ifname (if interface main dev is present)