export dns server and search list in the ubus interface status
[project/netifd.git] / proto.c
diff --git a/proto.c b/proto.c
index ed0a008..c3bd19d 100644 (file)
--- a/proto.c
+++ b/proto.c
@@ -32,8 +32,6 @@ enum {
        OPT_BROADCAST,
        OPT_GATEWAY,
        OPT_IP6GW,
-       OPT_DNS,
-       OPT_DNS_SEARCH,
        __OPT_MAX,
 };
 
@@ -44,14 +42,11 @@ static const struct blobmsg_policy proto_ip_attributes[__OPT_MAX] = {
        [OPT_BROADCAST] = { .name = "broadcast", .type = BLOBMSG_TYPE_STRING },
        [OPT_GATEWAY] = { .name = "gateway", .type = BLOBMSG_TYPE_STRING },
        [OPT_IP6GW] = { .name = "ip6gw", .type = BLOBMSG_TYPE_STRING },
-       [OPT_DNS] = { .name = "dns", .type = BLOBMSG_TYPE_ARRAY },
-       [OPT_DNS_SEARCH] = { .name = "dns_search", .type = BLOBMSG_TYPE_ARRAY },
 };
 
 static const union config_param_info proto_ip_attr_info[__OPT_MAX] = {
        [OPT_IPADDR] = { .type = BLOBMSG_TYPE_STRING },
        [OPT_IP6ADDR] = { .type = BLOBMSG_TYPE_STRING },
-       [OPT_DNS] = { .type = BLOBMSG_TYPE_STRING },
 };
 
 const struct config_param_list proto_ip_attr = {
@@ -64,6 +59,7 @@ enum {
        ADDR_IPADDR,
        ADDR_MASK,
        ADDR_BROADCAST,
+       ADDR_PTP,
        __ADDR_MAX
 };
 
@@ -71,6 +67,7 @@ static const struct blobmsg_policy proto_ip_addr[__ADDR_MAX] = {
        [ADDR_IPADDR] = { .name = "ipaddr", .type = BLOBMSG_TYPE_STRING },
        [ADDR_MASK] = { .name = "mask", .type = BLOBMSG_TYPE_STRING },
        [ADDR_BROADCAST] = { .name = "broadcast", .type = BLOBMSG_TYPE_STRING },
+       [ADDR_PTP] = { .name = "ptp", .type = BLOBMSG_TYPE_STRING },
 };
 
 unsigned int
@@ -226,8 +223,12 @@ parse_address_item(struct blob_attr *attr, bool v6, bool ext)
        if (!inet_pton(v6 ? AF_INET6 : AF_INET, blobmsg_data(cur), &addr->addr))
                goto error;
 
-       if (!v6 && (cur = tb[ADDR_BROADCAST])) {
-               if (!inet_pton(AF_INET, blobmsg_data(cur), &addr->broadcast))
+       if (!v6) {
+               if ((cur = tb[ADDR_BROADCAST]) &&
+                   !inet_pton(AF_INET, blobmsg_data(cur), &addr->broadcast))
+                       goto error;
+               if ((cur = tb[ADDR_PTP]) &&
+                   !inet_pton(AF_INET, blobmsg_data(cur), &addr->point_to_point))
                        goto error;
        }
 
@@ -333,12 +334,6 @@ proto_apply_static_ip_settings(struct interface *iface, struct blob_attr *attr)
                        goto out;
        }
 
-       if ((cur = tb[OPT_DNS]))
-               interface_add_dns_server_list(&iface->proto_ip, cur);
-
-       if ((cur = tb[OPT_DNS_SEARCH]))
-               interface_add_dns_search_list(&iface->proto_ip, cur);
-
        return 0;
 
 error:
@@ -381,12 +376,6 @@ proto_apply_ip_settings(struct interface *iface, struct blob_attr *attr, bool ex
                        goto out;
        }
 
-       if ((cur = tb[OPT_DNS]))
-               interface_add_dns_server_list(&iface->proto_ip, cur);
-
-       if ((cur = tb[OPT_DNS_SEARCH]))
-               interface_add_dns_search_list(&iface->proto_ip, cur);
-
        return 0;
 
 error: