Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be06210c authored by Dmitry Shmidt's avatar Dmitry Shmidt
Browse files

libnetutils: Get mtu together with dhcp session results



Change-Id: I517fd1f62d451b07466a21a2b770d9ce389dac19
Signed-off-by: default avatarDmitry Shmidt <dimitrysh@google.com>
parent b4802413
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -30,7 +30,9 @@ extern int dhcp_do_request(const char *ifname,
                          char *dns[],
                          char *dns[],
                          char *server,
                          char *server,
                          uint32_t *lease,
                          uint32_t *lease,
                          char *vendorInfo);
                          char *vendorInfo,
                          char *domain,
                          char *mtu);
extern int dhcp_do_request_renew(const char *ifname,
extern int dhcp_do_request_renew(const char *ifname,
                                char *ipaddr,
                                char *ipaddr,
                                char *gateway,
                                char *gateway,
@@ -38,7 +40,9 @@ extern int dhcp_do_request_renew(const char *ifname,
                                char *dns[],
                                char *dns[],
                                char *server,
                                char *server,
                                uint32_t *lease,
                                uint32_t *lease,
                                char *vendorInfo);
                                char *vendorInfo,
                                char *domain,
                                char *mtu);
extern int dhcp_stop(const char *ifname);
extern int dhcp_stop(const char *ifname);
extern int dhcp_release_lease(const char *ifname);
extern int dhcp_release_lease(const char *ifname);
extern char *dhcp_get_errmsg();
extern char *dhcp_get_errmsg();
+12 −5
Original line number Original line Diff line number Diff line
@@ -92,7 +92,8 @@ static int fill_ip_info(const char *interface,
                     char *server,
                     char *server,
                     uint32_t *lease,
                     uint32_t *lease,
                     char *vendorInfo,
                     char *vendorInfo,
                     char *domain)
                     char *domain,
                     char *mtu)
{
{
    char prop_name[PROPERTY_KEY_MAX];
    char prop_name[PROPERTY_KEY_MAX];
    char prop_value[PROPERTY_VALUE_MAX];
    char prop_value[PROPERTY_VALUE_MAX];
@@ -158,6 +159,10 @@ static int fill_ip_info(const char *interface,
            p2p_interface);
            p2p_interface);
    property_get(prop_name, domain, NULL);
    property_get(prop_name, domain, NULL);


    snprintf(prop_name, sizeof(prop_name), "%s.%s.mtu", DHCP_PROP_NAME_PREFIX,
            p2p_interface);
    property_get(prop_name, mtu, NULL);

    return 0;
    return 0;
}
}


@@ -186,7 +191,8 @@ int dhcp_do_request(const char *interface,
                    char *server,
                    char *server,
                    uint32_t *lease,
                    uint32_t *lease,
                    char *vendorInfo,
                    char *vendorInfo,
                    char *domain)
                    char *domain,
                    char *mtu)
{
{
    char result_prop_name[PROPERTY_KEY_MAX];
    char result_prop_name[PROPERTY_KEY_MAX];
    char daemon_prop_name[PROPERTY_KEY_MAX];
    char daemon_prop_name[PROPERTY_KEY_MAX];
@@ -238,7 +244,7 @@ int dhcp_do_request(const char *interface,
    if (strcmp(prop_value, "ok") == 0) {
    if (strcmp(prop_value, "ok") == 0) {
        char dns_prop_name[PROPERTY_KEY_MAX];
        char dns_prop_name[PROPERTY_KEY_MAX];
        if (fill_ip_info(interface, ipaddr, gateway, prefixLength, dns,
        if (fill_ip_info(interface, ipaddr, gateway, prefixLength, dns,
                server, lease, vendorInfo, domain) == -1) {
                server, lease, vendorInfo, domain, mtu) == -1) {
            return -1;
            return -1;
        }
        }
        return 0;
        return 0;
@@ -329,7 +335,8 @@ int dhcp_do_request_renew(const char *interface,
                    char *server,
                    char *server,
                    uint32_t *lease,
                    uint32_t *lease,
                    char *vendorInfo,
                    char *vendorInfo,
                    char *domain)
                    char *domain,
                    char *mtu)
{
{
    char result_prop_name[PROPERTY_KEY_MAX];
    char result_prop_name[PROPERTY_KEY_MAX];
    char prop_value[PROPERTY_VALUE_MAX] = {'\0'};
    char prop_value[PROPERTY_VALUE_MAX] = {'\0'};
@@ -366,7 +373,7 @@ int dhcp_do_request_renew(const char *interface,
    }
    }
    if (strcmp(prop_value, "ok") == 0) {
    if (strcmp(prop_value, "ok") == 0) {
        return fill_ip_info(interface, ipaddr, gateway, prefixLength, dns,
        return fill_ip_info(interface, ipaddr, gateway, prefixLength, dns,
                server, lease, vendorInfo, domain);
                server, lease, vendorInfo, domain, mtu);
    } else {
    } else {
        snprintf(errmsg, sizeof(errmsg), "DHCP Renew result was %s", prop_value);
        snprintf(errmsg, sizeof(errmsg), "DHCP Renew result was %s", prop_value);
        return -1;
        return -1;