Thanks, >From an external connman plugin perspective, I only have access to the "device" structure, I cannot play with the element directly as it is created for me in the background. Is there a way to retrieve the device IPV4 element once it has been created by Connman and access all its properties? Why are Broadcast and Nameserver properties handled differently for the IPV4 element?
I tried using latest connman from git but I have some issues to make it load my plugin. Regards, Jonathan -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Bastian, Waldo Sent: Thursday, June 11, 2009 6:00 PM To: [email protected] Subject: Re: [connman] List issue + Connman crash on connman_device_set_carrier(device, TRUE) + connman_resolver_append problem Jonathan De Cesco wrote: > I am using connman 0.19-3.1 and I am doing a plugin that is setting up a > device with CONNMAN_DEVICE_MODE_TRANSPORT_IP mode, I give it the following > properties: > connman_device_set_interface(device,"an interfaceName"); > "IPv4.Method" = "static" > "IPv4.Address" = "an IP address" > "IPv4.Netmask" = "255.255.255.0" > "IPv4.Gateway" = "another IP address" > These properties are set correctly and I can see they are applied fine to > the IPV4 element/ > > However, I am not able to set the Broadcast and nameserver properties, is > there something like: > "IPv4.Broadcast" and "IPv4.Nameserver" properties, I tried everything and > nothing seems to work. There are CONNMAN_PROPERTY_ID_IPV4_BROADCAST CONNMAN_PROPERTY_ID_IPV4_NAMESERVER They are handled by connman_element_get_value() but not by __connman_element_set_ipv4(), not sure if that is intentional or an oversight. plugins/udhcp.c sets broadcast and nameserver directly on the element as follows: 139 g_free(parent->ipv4.broadcast); 140 parent->ipv4.broadcast = g_strdup(broadcast); 141 142 g_free(parent->ipv4.gateway); 143 parent->ipv4.gateway = g_strdup(gateway); 144 145 g_free(parent->ipv4.nameserver); 146 parent->ipv4.nameserver = g_strdup(dns); 147 148 connman_element_update(parent); Maybe you can do the same? > Now, when I call connman_device_set_carrier(device, TRUE) I get a > segmentation fault in connman. I suspect the connman IPV4 probe function > to > fail as I did not provide it any Broadcast address ? Could that be the > reason, is this a bug at connman level, I may not be using correctly the > connman APIs. > > Another issue, I tried to set the nameservers IPs using successive calls > to: > connman_resolver_append(interface_name, NULL, dns1_addr); > connman_resolver_append(interface_name, NULL, dns2_addr); > > However, the resulting /etc/resolv.conf contains only the last dns address > and previous dns entries are removed... Are you using the latest connman from git? Cheers, Waldo -- Intel Corporation - Hillsboro, Oregon Ultra Mobility Group - Platform Software Architecture Tel: +1 503 264 6237 - Mobile: +1 503 703-7327 _______________________________________________ connman mailing list [email protected] http://lists.connman.net/listinfo/connman __________ Information from ESET NOD32 Antivirus, version of virus signature database 4148 (20090611) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com __________ Information from ESET NOD32 Antivirus, version of virus signature database 4150 (20090612) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com _______________________________________________ connman mailing list [email protected] http://lists.connman.net/listinfo/connman
