diff mbox series

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

Message ID 20201124071800.9080-1-fe@dev.tdt.de
State Accepted
Delegated to: Hans Dedecker
Headers show
Series [v2] netifd: add possibility to switch off route config | expand

Commit Message

Florian Eckert Nov. 24, 2020, 7:18 a.m. UTC
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 we do not have to delete
this route configuration section to achieve this.

config route
  option disabled '1

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
---

V2:
  - Fix code style
  - Create patch from netif repository

 interface-ip.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox series

Patch

diff --git a/interface-ip.c b/interface-ip.c
index 6efc3c5..e14a154 100644
--- 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_attr[__ROUTE_MAX] = {
 	[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,9 @@  interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
 
 	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;