Re: IP4Config and routes
- From: Dan Williams <dcbw redhat com>
- To: Daniel Drake <dsd laptop org>
- Cc: networkmanager-list gnome org
- Subject: Re: IP4Config and routes
- Date: Wed, 16 Dec 2009 11:59:04 -0800
On Wed, 2009-12-16 at 18:23 +0000, Daniel Drake wrote:
> On Wed, 2009-12-16 at 17:53 +0000, Daniel Drake wrote:
> > Thanks! Very comprehensive.
> >
> > Is this part correct?
> >
> > "Routes cannot be used with the 'shared' or 'link-local' methods as
> > there is no upstream network."
> >
> > We're using link-local. Might explain my troubles, but in this case we
> > need a route even though we aren't dealing with an upstream network.
>
> Well, if it is correct, we aren't even hitting the bit of the code where
> it is enforced. (or at least I haven't spotted it)
Yes, it's correct in these cases because for shared, NM is handling the
network and there's no routing out of it since the network is NAT-ed to
the main connection. In link-local it's not relevant since the
link-local is by definition /not routable/...
> I have traced the code and I am finding :
>
> - nm_setting_new_from_hash() is being called
> - it is calling parse_one_setting()
> - which then calls nm_setting_new_from_hash()
> - the hash table has 2 properties inside(method,routes)
> - one_property_cb() is called on both those properties and is successful
> at adding them to the list
> - back in nm_setting_new_from_hash(), g_object_newv() is called with the
> property list (method and routes)
> - a NMSettingIP4Config is constructed, and these properties are set:
> 6(ignore auto routes), 7(ignore auto dns), 10(never default), 1(method)
>
> Why is set_property not called for the routes property?
> Is it because routes is a _nm_param_spec_specialized? (I'm not exactly
> sure what the difference is between this and the regular glib param
> specs)
I'm more inclined to think that the bits aren't getting passed by to NM
correctly; are you sure you're passing the item with a dbus signature of
'aau'? The code that actually unpacks the routes property is
nm_utils_ip4_routes_from_gvalue() in nm-utils.c. Trace into
nm-setting-ip4-config.c's set_property() call and see if the PROP_ROUTES
case is run.
Dan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]