netifd: update to latest version from LEDE
This commit is contained in:
		
							parent
							
								
									7974284ed6
								
							
						
					
					
						commit
						aae05fe368
					
				| @ -1,182 +0,0 @@ | |||||||
| From: Matthias Schiffer <mschiffer@universe-factory.net> |  | ||||||
| Date: Wed, 9 Mar 2016 06:46:44 +0100 |  | ||||||
| Subject: netifd: update to latest git master |  | ||||||
| 
 |  | ||||||
| diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile
 |  | ||||||
| index 619024b..84a4592 100644
 |  | ||||||
| --- a/package/network/config/netifd/Makefile
 |  | ||||||
| +++ b/package/network/config/netifd/Makefile
 |  | ||||||
| @@ -1,13 +1,13 @@
 |  | ||||||
|  include $(TOPDIR)/rules.mk |  | ||||||
|   |  | ||||||
|  PKG_NAME:=netifd |  | ||||||
| -PKG_VERSION:=2015-12-16
 |  | ||||||
| +PKG_VERSION:=2016-03-31
 |  | ||||||
|  PKG_RELEASE=$(PKG_SOURCE_VERSION) |  | ||||||
|   |  | ||||||
|  PKG_SOURCE_PROTO:=git |  | ||||||
| -PKG_SOURCE_URL:=http://git.openwrt.org/project/netifd.git
 |  | ||||||
| +PKG_SOURCE_URL=$(OPENWRT_GIT)/project/netifd.git
 |  | ||||||
|  PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) |  | ||||||
| -PKG_SOURCE_VERSION:=245527193e90906451be35c2b8e972b8712ea6ab
 |  | ||||||
| +PKG_SOURCE_VERSION:=6fd6be6b7f3fc4883fdc464fcbcb2b5e8d8e8174
 |  | ||||||
|  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz |  | ||||||
|  PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org> |  | ||||||
|  # PKG_MIRROR_MD5SUM:= |  | ||||||
| diff --git a/package/network/config/netifd/files/etc/init.d/network b/package/network/config/netifd/files/etc/init.d/network
 |  | ||||||
| index 542fc08..bdadbbc 100755
 |  | ||||||
| --- a/package/network/config/netifd/files/etc/init.d/network
 |  | ||||||
| +++ b/package/network/config/netifd/files/etc/init.d/network
 |  | ||||||
| @@ -21,7 +21,6 @@ start_service() {
 |  | ||||||
|  	procd_set_param watch network.interface |  | ||||||
|  	[ -e /proc/sys/kernel/core_pattern ] && { |  | ||||||
|  		procd_set_param limits core="unlimited" |  | ||||||
| -		echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern
 |  | ||||||
|  	} |  | ||||||
|  	procd_close_instance |  | ||||||
|  } |  | ||||||
| diff --git a/package/network/config/netifd/files/sbin/ifup b/package/network/config/netifd/files/sbin/ifup
 |  | ||||||
| index af3aaa8..5515b91 100755
 |  | ||||||
| --- a/package/network/config/netifd/files/sbin/ifup
 |  | ||||||
| +++ b/package/network/config/netifd/files/sbin/ifup
 |  | ||||||
| @@ -67,12 +67,10 @@ if [ -n "$setup_wifi" ] && grep -sq config /etc/config/wireless; then
 |  | ||||||
|  		fi |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| -	local radio_devs
 |  | ||||||
| -	local network="$1"
 |  | ||||||
| +	network="$1"
 |  | ||||||
|  	config_load wireless |  | ||||||
|  	config_foreach find_related_radios wifi-iface |  | ||||||
|   |  | ||||||
| -	local dev
 |  | ||||||
|  	for dev in $(echo "$radio_devs" | sort -u); do |  | ||||||
|  		/sbin/wifi up "$dev" |  | ||||||
|  	done |  | ||||||
| diff --git a/package/network/config/netifd/patches/0001-Revert-device-Don-t-process-link-events-anymore-in-d.patch b/package/network/config/netifd/patches/0001-Revert-device-Don-t-process-link-events-anymore-in-d.patch
 |  | ||||||
| new file mode 100644 |  | ||||||
| index 0000000..312964f
 |  | ||||||
| --- /dev/null
 |  | ||||||
| +++ b/package/network/config/netifd/patches/0001-Revert-device-Don-t-process-link-events-anymore-in-d.patch
 |  | ||||||
| @@ -0,0 +1,121 @@
 |  | ||||||
| +From e0f19fdae88f3ef505e22533915f8328f4793980 Mon Sep 17 00:00:00 2001
 |  | ||||||
| +Message-Id: <e0f19fdae88f3ef505e22533915f8328f4793980.1462479663.git.mschiffer@universe-factory.net>
 |  | ||||||
| +From: Matthias Schiffer <mschiffer@universe-factory.net>
 |  | ||||||
| +Date: Thu, 5 May 2016 21:49:33 +0200
 |  | ||||||
| +Subject: [PATCH] Revert "device: Don't process link events anymore in device
 |  | ||||||
| + user specific callback handlers"
 |  | ||||||
| +
 |  | ||||||
| +This reverts commit 4902ba2999dec02e82066d70ab6096b852a33007.
 |  | ||||||
| +---
 |  | ||||||
| + device.h       | 2 ++
 |  | ||||||
| + macvlan.c      | 8 ++++++++
 |  | ||||||
| + system-linux.c | 2 +-
 |  | ||||||
| + vlan.c         | 6 ++++++
 |  | ||||||
| + vlandev.c      | 8 ++++++++
 |  | ||||||
| + 5 files changed, 25 insertions(+), 1 deletion(-)
 |  | ||||||
| +
 |  | ||||||
| +diff --git a/device.h b/device.h
 |  | ||||||
| +index ac77cfb..ef1c608 100644
 |  | ||||||
| +--- a/device.h
 |  | ||||||
| ++++ b/device.h
 |  | ||||||
| +@@ -59,6 +59,8 @@ struct device_type {
 |  | ||||||
| + 	struct list_head list;
 |  | ||||||
| + 	const char *name;
 |  | ||||||
| + 
 |  | ||||||
| ++	bool keep_link_status;
 |  | ||||||
| ++
 |  | ||||||
| + 	const struct uci_blob_param_list *config_params;
 |  | ||||||
| + 
 |  | ||||||
| + 	struct device *(*create)(const char *name, struct blob_attr *attr);
 |  | ||||||
| +diff --git a/macvlan.c b/macvlan.c
 |  | ||||||
| +index a0f11ae..051fe05 100644
 |  | ||||||
| +--- a/macvlan.c
 |  | ||||||
| ++++ b/macvlan.c
 |  | ||||||
| +@@ -72,6 +72,12 @@ macvlan_base_cb(struct device_user *dev, enum device_event ev)
 |  | ||||||
| + 	case DEV_EVENT_REMOVE:
 |  | ||||||
| + 		device_set_present(&mvdev->dev, false);
 |  | ||||||
| + 		break;
 |  | ||||||
| ++	case DEV_EVENT_LINK_UP:
 |  | ||||||
| ++		device_set_link(&mvdev->dev, true);
 |  | ||||||
| ++		break;
 |  | ||||||
| ++	case DEV_EVENT_LINK_DOWN:
 |  | ||||||
| ++		device_set_link(&mvdev->dev, false);
 |  | ||||||
| ++		break;
 |  | ||||||
| + 	default:
 |  | ||||||
| + 		return;
 |  | ||||||
| + 	}
 |  | ||||||
| +@@ -255,6 +261,8 @@ macvlan_create(const char *name, struct blob_attr *attr)
 |  | ||||||
| + const struct device_type macvlan_device_type = {
 |  | ||||||
| + 	.name = "MAC VLAN",
 |  | ||||||
| + 	.config_params = &macvlan_attr_list,
 |  | ||||||
| ++	.keep_link_status = true,
 |  | ||||||
| ++
 |  | ||||||
| + 	.create = macvlan_create,
 |  | ||||||
| + 	.config_init = macvlan_config_init,
 |  | ||||||
| + 	.reload = macvlan_reload,
 |  | ||||||
| +diff --git a/system-linux.c b/system-linux.c
 |  | ||||||
| +index 351a994..794c1dd 100644
 |  | ||||||
| +--- a/system-linux.c
 |  | ||||||
| ++++ b/system-linux.c
 |  | ||||||
| +@@ -464,7 +464,7 @@ static int cb_rtnl_event(struct nl_msg *msg, void *arg)
 |  | ||||||
| + 		goto out;
 |  | ||||||
| + 
 |  | ||||||
| + 	struct device *dev = device_get(nla_data(nla[IFLA_IFNAME]), false);
 |  | ||||||
| +-	if (!dev)
 |  | ||||||
| ++	if (!dev || dev->type->keep_link_status)
 |  | ||||||
| + 		goto out;
 |  | ||||||
| + 
 |  | ||||||
| + 	if (!system_get_dev_sysctl("/sys/class/net/%s/carrier", dev->ifname, buf, sizeof(buf)))
 |  | ||||||
| +diff --git a/vlan.c b/vlan.c
 |  | ||||||
| +index ac434ce..8d93799 100644
 |  | ||||||
| +--- a/vlan.c
 |  | ||||||
| ++++ b/vlan.c
 |  | ||||||
| +@@ -79,6 +79,11 @@ static void vlan_dev_cb(struct device_user *dep, enum device_event ev)
 |  | ||||||
| + 	case DEV_EVENT_REMOVE:
 |  | ||||||
| + 		device_set_present(&vldev->dev, new_state);
 |  | ||||||
| + 		break;
 |  | ||||||
| ++	case DEV_EVENT_LINK_UP:
 |  | ||||||
| ++		new_state = true;
 |  | ||||||
| ++	case DEV_EVENT_LINK_DOWN:
 |  | ||||||
| ++		device_set_link(&vldev->dev, new_state);
 |  | ||||||
| ++		break;
 |  | ||||||
| + 	case DEV_EVENT_UPDATE_IFNAME:
 |  | ||||||
| + 		vlan_dev_set_name(vldev, dep->dev);
 |  | ||||||
| + 		device_broadcast_event(&vldev->dev, ev);
 |  | ||||||
| +@@ -97,6 +102,7 @@ static struct device *get_vlan_device(struct device *dev, int id, bool create)
 |  | ||||||
| + 	static const struct device_type vlan_type = {
 |  | ||||||
| + 		.name = "VLAN",
 |  | ||||||
| + 		.config_params = &device_attr_list,
 |  | ||||||
| ++		.keep_link_status = true,
 |  | ||||||
| + 		.free = free_vlan_if,
 |  | ||||||
| + 	};
 |  | ||||||
| + 	struct vlan_device *vldev;
 |  | ||||||
| +diff --git a/vlandev.c b/vlandev.c
 |  | ||||||
| +index b93527c..884e6ef 100644
 |  | ||||||
| +--- a/vlandev.c
 |  | ||||||
| ++++ b/vlandev.c
 |  | ||||||
| +@@ -63,6 +63,12 @@ vlandev_base_cb(struct device_user *dev, enum device_event ev)
 |  | ||||||
| + 	case DEV_EVENT_REMOVE:
 |  | ||||||
| + 		device_set_present(&mvdev->dev, false);
 |  | ||||||
| + 		break;
 |  | ||||||
| ++	case DEV_EVENT_LINK_UP:
 |  | ||||||
| ++		device_set_link(&mvdev->dev, true);
 |  | ||||||
| ++		break;
 |  | ||||||
| ++	case DEV_EVENT_LINK_DOWN:
 |  | ||||||
| ++		device_set_link(&mvdev->dev, false);
 |  | ||||||
| ++		break;
 |  | ||||||
| + 	default:
 |  | ||||||
| + 		return;
 |  | ||||||
| + 	}
 |  | ||||||
| +@@ -243,6 +249,8 @@ vlandev_create(const char *name, struct blob_attr *attr)
 |  | ||||||
| + const struct device_type vlandev_device_type = {
 |  | ||||||
| + 	.name = "VLANDEV",
 |  | ||||||
| + 	.config_params = &vlandev_attr_list,
 |  | ||||||
| ++	.keep_link_status = true,
 |  | ||||||
| ++
 |  | ||||||
| + 	.create = vlandev_create,
 |  | ||||||
| + 	.config_init = vlandev_config_init,
 |  | ||||||
| + 	.reload = vlandev_reload,
 |  | ||||||
| +-- 
 |  | ||||||
| +2.8.2
 |  | ||||||
| +
 |  | ||||||
| @ -0,0 +1,102 @@ | |||||||
|  | From: Matthias Schiffer <mschiffer@universe-factory.net> | ||||||
|  | Date: Wed, 9 Mar 2016 06:46:44 +0100 | ||||||
|  | Subject: netifd: update to latest version from LEDE | ||||||
|  | 
 | ||||||
|  | diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile
 | ||||||
|  | index 619024b..d9c63eb 100644
 | ||||||
|  | --- a/package/network/config/netifd/Makefile
 | ||||||
|  | +++ b/package/network/config/netifd/Makefile
 | ||||||
|  | @@ -1,15 +1,15 @@
 | ||||||
|  |  include $(TOPDIR)/rules.mk | ||||||
|  |   | ||||||
|  |  PKG_NAME:=netifd | ||||||
|  | -PKG_VERSION:=2015-12-16
 | ||||||
|  | +PKG_VERSION:=2016-06-06
 | ||||||
|  |  PKG_RELEASE=$(PKG_SOURCE_VERSION) | ||||||
|  |   | ||||||
|  |  PKG_SOURCE_PROTO:=git | ||||||
|  | -PKG_SOURCE_URL:=http://git.openwrt.org/project/netifd.git
 | ||||||
|  | +PKG_SOURCE_URL=$(LEDE_GIT)/project/netifd.git
 | ||||||
|  |  PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) | ||||||
|  | -PKG_SOURCE_VERSION:=245527193e90906451be35c2b8e972b8712ea6ab
 | ||||||
|  | +PKG_SOURCE_VERSION:=99e6dc68bbac5a57a0ebca810a9dc36e38667821
 | ||||||
|  |  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz | ||||||
|  | -PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
 | ||||||
|  | +PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 | ||||||
|  |  # PKG_MIRROR_MD5SUM:= | ||||||
|  |  # CMAKE_INSTALL:=1 | ||||||
|  |   | ||||||
|  | diff --git a/package/network/config/netifd/files/etc/init.d/network b/package/network/config/netifd/files/etc/init.d/network
 | ||||||
|  | index 542fc08..bdadbbc 100755
 | ||||||
|  | --- a/package/network/config/netifd/files/etc/init.d/network
 | ||||||
|  | +++ b/package/network/config/netifd/files/etc/init.d/network
 | ||||||
|  | @@ -21,7 +21,6 @@ start_service() {
 | ||||||
|  |  	procd_set_param watch network.interface | ||||||
|  |  	[ -e /proc/sys/kernel/core_pattern ] && { | ||||||
|  |  		procd_set_param limits core="unlimited" | ||||||
|  | -		echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern
 | ||||||
|  |  	} | ||||||
|  |  	procd_close_instance | ||||||
|  |  } | ||||||
|  | diff --git a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
 | ||||||
|  | index 0e88af9..abfdaaf 100755
 | ||||||
|  | --- a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
 | ||||||
|  | +++ b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
 | ||||||
|  | @@ -12,6 +12,7 @@ proto_dhcp_init_config() {
 | ||||||
|  |  	proto_config_add_string clientid | ||||||
|  |  	proto_config_add_string vendorid | ||||||
|  |  	proto_config_add_boolean 'broadcast:bool' | ||||||
|  | +	proto_config_add_boolean 'release:bool'
 | ||||||
|  |  	proto_config_add_string 'reqopts:list(string)' | ||||||
|  |  	proto_config_add_string iface6rd | ||||||
|  |  	proto_config_add_string sendopts | ||||||
|  | @@ -26,8 +27,8 @@ proto_dhcp_setup() {
 | ||||||
|  |  	local config="$1" | ||||||
|  |  	local iface="$2" | ||||||
|  |   | ||||||
|  | -	local ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes
 | ||||||
|  | -	json_get_vars ipaddr hostname clientid vendorid broadcast reqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes
 | ||||||
|  | +	local ipaddr hostname clientid vendorid broadcast release reqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes
 | ||||||
|  | +	json_get_vars ipaddr hostname clientid vendorid broadcast release reqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes
 | ||||||
|  |   | ||||||
|  |  	local opt dhcpopts | ||||||
|  |  	for opt in $reqopts; do | ||||||
|  | @@ -39,6 +40,7 @@ proto_dhcp_setup() {
 | ||||||
|  |  	done | ||||||
|  |   | ||||||
|  |  	[ "$broadcast" = 1 ] && broadcast="-B" || broadcast= | ||||||
|  | +	[ "$release" = 1 ] && release="-R" || release=
 | ||||||
|  |  	[ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C" | ||||||
|  |  	[ -n "$iface6rd" ] && proto_export "IFACE6RD=$iface6rd" | ||||||
|  |  	[ "$iface6rd" != 0 -a -f /lib/netifd/proto/6rd.sh ] && append dhcpopts "-O 212" | ||||||
|  | @@ -54,9 +56,9 @@ proto_dhcp_setup() {
 | ||||||
|  |  		-s /lib/netifd/dhcp.script \ | ||||||
|  |  		-f -t 0 -i "$iface" \ | ||||||
|  |  		${ipaddr:+-r $ipaddr} \ | ||||||
|  | -		${hostname:+-H $hostname} \
 | ||||||
|  | -		${vendorid:+-V $vendorid} \
 | ||||||
|  | -		$clientid $broadcast $dhcpopts
 | ||||||
|  | +		${hostname:+-H "$hostname"} \
 | ||||||
|  | +		${vendorid:+-V "$vendorid"} \
 | ||||||
|  | +		$clientid $broadcast $release $dhcpopts
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  proto_dhcp_renew() { | ||||||
|  | diff --git a/package/network/config/netifd/files/sbin/ifup b/package/network/config/netifd/files/sbin/ifup
 | ||||||
|  | index af3aaa8..5515b91 100755
 | ||||||
|  | --- a/package/network/config/netifd/files/sbin/ifup
 | ||||||
|  | +++ b/package/network/config/netifd/files/sbin/ifup
 | ||||||
|  | @@ -67,12 +67,10 @@ if [ -n "$setup_wifi" ] && grep -sq config /etc/config/wireless; then
 | ||||||
|  |  		fi | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  | -	local radio_devs
 | ||||||
|  | -	local network="$1"
 | ||||||
|  | +	network="$1"
 | ||||||
|  |  	config_load wireless | ||||||
|  |  	config_foreach find_related_radios wifi-iface | ||||||
|  |   | ||||||
|  | -	local dev
 | ||||||
|  |  	for dev in $(echo "$radio_devs" | sort -u); do | ||||||
|  |  		/sbin/wifi up "$dev" | ||||||
|  |  	done | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user