Steven Barth [Wed, 3 Apr 2013 18:03:15 +0000 (20:03 +0200)]
Rewrite IPv6 prefix assignment
Steven Barth [Tue, 19 Mar 2013 10:13:15 +0000 (11:13 +0100)]
Fix IPv6 RDNSS writing to resolv.conf (buffer was too short)
Thomas Gstädtner [Sun, 3 Mar 2013 17:20:10 +0000 (18:20 +0100)]
fix libnl detection
Steven Barth [Tue, 19 Feb 2013 08:36:23 +0000 (09:36 +0100)]
Only update resolv.conf if changed (avoid logspam)
Felix Fietkau [Mon, 11 Feb 2013 21:10:03 +0000 (22:10 +0100)]
prefer to link against libjson-c over libjson (the new library name in git versions of json-c)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Sun, 10 Feb 2013 18:14:35 +0000 (19:14 +0100)]
device: protect device event broadcast against simultaneous deletions of multiple receivers in the callback (can happen with aliases)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Sun, 10 Feb 2013 18:02:49 +0000 (19:02 +0100)]
proto: default to 128 instead of the "netmask" option for ipv6 addresses
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Steven Barth [Fri, 1 Feb 2013 12:17:41 +0000 (13:17 +0100)]
Improved IPv6 featureset
* Fix reloading of ula-prefixes
* Added support for temporary addresses and routes
* Added support for offlink addresses
* Improved status-output for assigned prefixes
Felix Fietkau [Tue, 29 Jan 2013 14:36:51 +0000 (15:36 +0100)]
proto-shell: use the new network.interface object
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 29 Jan 2013 14:33:22 +0000 (15:33 +0100)]
ubus: add a network.interface object to access network.interface.* methods without racing wrt. object add/remove
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 29 Jan 2013 14:00:01 +0000 (15:00 +0100)]
fix cleaning up interface state for reload
Do not clean up config related state or interface dependencies
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Steven Barth [Tue, 29 Jan 2013 10:57:18 +0000 (11:57 +0100)]
Add deprecation for static IPv6 prefixes
Steven Barth [Tue, 29 Jan 2013 10:36:32 +0000 (11:36 +0100)]
IPv6 prefixes: conform to RFC 6204 requirement L13
Felix Fietkau [Mon, 28 Jan 2013 20:33:05 +0000 (21:33 +0100)]
alias: set ifindex on alias device to fix setting addresses/routes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 22 Jan 2013 16:04:40 +0000 (17:04 +0100)]
alias: if the underlying device changes (or goes away), set the device present status to false to make its users shut down
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Steven Barth [Tue, 22 Jan 2013 15:42:40 +0000 (16:42 +0100)]
Don't segfault with an unset ula_prefix
Steven Barth [Mon, 21 Jan 2013 08:50:43 +0000 (09:50 +0100)]
Fix segfaults in prefix handling
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