[PATCH] netifd: add possibility to switch off route config

Florian Eckert fe at dev.tdt.de
Mon Nov 23 06:07:48 EST 2020


This change adds the new configuration option `disabled` for the route
section, which can be used to temporarily disable the section so that
the route is not set. The advantage is that I do not have to delete the
whole configuration to achieve this.

config route
  option disabled '1

Signed-off-by: Florian Eckert <fe at dev.tdt.de>
---
 .../patches/001-make-route-disable.patch      | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 package/network/config/netifd/patches/001-make-route-disable.patch

diff --git a/package/network/config/netifd/patches/001-make-route-disable.patch b/package/network/config/netifd/patches/001-make-route-disable.patch
new file mode 100644
index 0000000000..8184449e4e
--- /dev/null
+++ b/package/network/config/netifd/patches/001-make-route-disable.patch
@@ -0,0 +1,29 @@
+--- a/interface-ip.c
++++ b/interface-ip.c
+@@ -49,6 +49,7 @@ enum {
+ 	ROUTE_ONLINK,
+ 	ROUTE_TYPE,
+ 	ROUTE_PROTO,
++	ROUTE_DISABLED,
+ 	__ROUTE_MAX
+ };
+ 
+@@ -65,6 +66,7 @@ static const struct blobmsg_policy route
+ 	[ROUTE_ONLINK] = { .name = "onlink", .type = BLOBMSG_TYPE_BOOL },
+ 	[ROUTE_TYPE] = { .name = "type", .type = BLOBMSG_TYPE_STRING },
+ 	[ROUTE_PROTO] = { .name = "proto", .type = BLOBMSG_TYPE_STRING },
++	[ROUTE_DISABLED] = { .name = "disabled", .type = BLOBMSG_TYPE_BOOL },
+ };
+ 
+ const struct uci_blob_param_list route_attr_list = {
+@@ -400,6 +402,10 @@ interface_ip_add_route(struct interface
+ 
+ 	blobmsg_parse(route_attr, __ROUTE_MAX, tb, blobmsg_data(attr), blobmsg_data_len(attr));
+ 
++	if ((cur = tb[ROUTE_DISABLED]) != NULL && blobmsg_get_bool(cur)) {
++		return;
++	}
++
+ 	if (!iface) {
+ 		if ((cur = tb[ROUTE_INTERFACE]) == NULL)
+ 			return;
-- 
2.20.1




More information about the openwrt-devel mailing list