libnm-core: add NMSettingIPConfig:gateway, drop NMIPAddress:gateway
authorDan Winship <danw@gnome.org>
Tue, 21 Oct 2014 01:30:56 +0000 (21:30 -0400)
committerDan Winship <danw@gnome.org>
Fri, 7 Nov 2014 12:49:40 +0000 (07:49 -0500)
commitf17699f4e3dacb9358a8503c8b15efe3cb852b48
treefc26094c54154b91497b4b5eac72eeca093fedf0
parent329791ad55ee66e2d12c3cedcc2daf8c0865f7a6
libnm-core: add NMSettingIPConfig:gateway, drop NMIPAddress:gateway

The gateway is a global property of the IPv4/IPv6 configuration, not
an attribute of any particular address. So represent it as such in the
API; remove the gateway from NMIPAddress, and add it to
NMSettingIPConfig.

Behind the scenes, the gateway is still serialized along with the
first address in NMSettingIPConfig:addresses, and is deserialized from
that if the settings dictionary doesn't contain a 'gateway' key.

Adjust nmcli's interactive mode to prompt for IP addresses and gateway
separately. (Patch partly from Jirka Klimeš.)
33 files changed:
callouts/nm-dispatcher-utils.c
callouts/tests/test-dispatcher-envp.c
clients/cli/common.c
clients/cli/common.h
clients/cli/connections.c
clients/cli/settings.c
clients/tui/nm-editor-bindings.c
clients/tui/nm-editor-bindings.h
clients/tui/nmt-page-ip4.c
clients/tui/nmt-page-ip6.c
libnm-core/nm-setting-ip-config.c
libnm-core/nm-setting-ip-config.h
libnm-core/nm-setting-ip4-config.c
libnm-core/nm-setting-ip6-config.c
libnm-core/nm-utils.c
libnm-core/nm-utils.h
libnm-core/tests/test-general.c
libnm/libnm.ver
libnm/nm-ip4-config.c
libnm/nm-ip6-config.c
src/nm-ip4-config.c
src/nm-ip6-config.c
src/settings/plugins/ibft/reader.c
src/settings/plugins/ibft/tests/test-ibft.c
src/settings/plugins/ifcfg-rh/reader.c
src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
src/settings/plugins/ifcfg-rh/writer.c
src/settings/plugins/ifnet/connection_parser.c
src/settings/plugins/ifupdown/parser.c
src/settings/plugins/keyfile/reader.c
src/settings/plugins/keyfile/tests/test-keyfile.c
src/settings/plugins/keyfile/writer.c
src/tests/test-general.c