On Tue, 2014-07-08 at 05:55 +1000, Stuart Longland wrote:
> Hi Dan,
> On 08/07/14 02:55, Dan Williams wrote:
> > As thomas already mentioned, these should be covered in the API
> > documentation that he linked.  Note that IPv4 addresses are arrays of
> > uint32 (address/prefix/optional gateway) and IPv4 routes are too
> > (network/prefix/next-hop/metric).  The address/network/next-hop IP
> > address members are network-byte-order.  So the code in Python to push
> > that into the dict that can be sent over D-Bus is something like this,
> > taken from:
> [...]
> > this is mainly because Python doesn't have strongly-typed variables, but
> > D-Bus does, so you have to tell Python what the mapping is between the
> > Python types and the D-Bus types.
> 
> Yep, just experimenting with python-networkmanager, it seems this is one
> of the details it looks after: IP addresses are translated to strings,
> endianness is taken care of, etc.  Dicts are plain Python dicts.
> 
> Just looking at the documentation there though, am I correct in assuming
> that to set up a simple connection, you would have a dict of the form:
> 
> {'connection': { global connection settings },
>  'ipv4': { IPv4 address settings },
>  'ipv6': { IPv6 address settings },
> }
> 
> and so the 'connection' bit would be mandatory, and you might have *one*
> each of the other setting types?

The "type" setting (eg 803-3-ethernet, 802-11-wireless, gsm, cdma,
bluetooth, etc) is required too.  The 'type' setting and the
'connection' setting are the only required ones.  Usually you'd lock the
connection to a MAC address with the "type" setting, or it would contain
stuff like MTU, SSID, and other hardware-specific stuff, so you can't
really leave it out.

IPv4 and IPv6 are optional if you want automatic (DHCP, PPP/WWAN, etc)
addressing, but obviously if you want static you have to specify one or
both.

Dan

_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to