CMake: bump the minimum required CMake version to 3.5
[project/netifd.git] / config.c
index dbf44257cce205189666fb2b7b682acfc12a7691..a7f9c0b64a44567ecb11c32aa3b059883cc507a7 100644 (file)
--- a/config.c
+++ b/config.c
@@ -146,7 +146,7 @@ config_parse_bridge_interface(struct uci_section *s, struct device_type *devtype
        config_fixup_bridge_vlan_filtering(s, name);
        uci_to_blob(&b, s, devtype->config_params);
        if (!device_create(name, devtype, b.head)) {
-               D(INTERFACE, "Failed to create '%s' device for interface '%s'\n",
+               D(INTERFACE, "Failed to create '%s' device for interface '%s'",
                        devtype->name, s->e.name);
        }
 
@@ -645,7 +645,7 @@ config_init_wireless(void)
        const char *dev_name;
 
        if (!uci_wireless) {
-               DPRINTF("No wireless configuration found\n");
+               D(WIRELESS, "No wireless configuration found");
                return;
        }
 
@@ -678,7 +678,7 @@ config_init_wireless(void)
 
                wdev = vlist_find(&wireless_devices, dev_name, wdev, node);
                if (!wdev) {
-                       DPRINTF("device %s not found!\n", dev_name);
+                       D(WIRELESS, "device %s not found!", dev_name);
                        continue;
                }
 
@@ -719,6 +719,42 @@ struct ether_addr *config_get_default_macaddr(const char *ifname)
        return ether_aton(blobmsg_get_string(cur));
 }
 
+int config_get_default_gro(const char *ifname)
+{
+       struct blob_attr *cur;
+
+       if (!board_netdevs)
+               return -1;
+
+       cur = config_find_blobmsg_attr(board_netdevs, ifname, BLOBMSG_TYPE_TABLE);
+       if (!cur)
+               return -1;
+
+       cur = config_find_blobmsg_attr(cur, "gro", BLOBMSG_TYPE_BOOL);
+       if (!cur)
+               return -1;
+
+       return blobmsg_get_bool(cur);
+}
+
+const char *config_get_default_conduit(const char *ifname)
+{
+       struct blob_attr *cur;
+
+       if (!board_netdevs)
+               return NULL;
+
+       cur = config_find_blobmsg_attr(board_netdevs, ifname, BLOBMSG_TYPE_TABLE);
+       if (!cur)
+               return NULL;
+
+       cur = config_find_blobmsg_attr(cur, "conduit", BLOBMSG_TYPE_STRING);
+       if (!cur)
+               return NULL;
+
+       return blobmsg_get_string(cur);
+}
+
 static void
 config_init_board(void)
 {
@@ -732,7 +768,7 @@ config_init_board(void)
        free(board_netdevs);
        board_netdevs = NULL;
 
-       cur = config_find_blobmsg_attr(b.head, "network-device",
+       cur = config_find_blobmsg_attr(b.head, "network_device",
                                       BLOBMSG_TYPE_TABLE);
        if (!cur)
                return;