文本文件  |  105行  |  2.88 KB

IP Configuration Handling
*************************


IP basics
=========

Layer 3 configuration state is managed on a per-device basis.  When
a device is connected, it will have an IPConifg record associated with
it.  In addition, connected services will have an "IPConfig" property
which will contain the path to this record.  These properties of the
IPConfig record represent the current state of connectivity of the
device.

IPConfig hierarchy
==================

Service		org.chromium.flimflam
Interface	org.chromium.flimflam.IPConfig
Object path	[variable prefix]/{ipconfig0,ipconfig1,...}

Methods		dict GetProperties()

			Return properties for the IPConfig object. See
			the properties section for available properties.

		void Refresh()

			Cause the IP configuration to be refreshed.  In
			the case of DHCP configurations, the lease is
			renewed, and any Static IP configuration from
			the service is re-applied.

Signals		PropertyChanged(string name, variant value)

			This signal indicates a changed value of the given
			property.

Properties	string Address [readonly]

			The Layer 3 address expressed in the dotted-quad format
			for IPv4 and any allowed format for IPv6 (as specified
			for inet_pton(3)).

		string Broadcast [readonly]

			The Layer 3 broadcast address specified as per Address.

		string DomainName [readonly]

			The DNS domain name to use in building FQDN queries.

		string Gateway [readonly]

			The Layer 3 address gateway address specified as
			per Address.

		string Method [readonly]

			The method by which Layer 3 state is managed.

			Possible methods are:
			   "ipv4"       (fixed IPv4 network state)
			   "ipv6"       (fixed IPv6 network state)
			   "dhcp"       (IPv4 state setup using DHCP)
			   "bootp"      (IPv4 state setup using BOOTP)
			   "zeroconf"   (IPV4 state setup using ZeroConf)
			   "dhcp6"      (IPv6 state setup using DHCP6)
			   "ppp"        (IPv4 state setup using PPP)
			   "vpn"        (IPv4 state setup using VPN)

		int32 Mtu [readonly]

			The maximum transmit unit (MTU) in bytes.

		array{string} NameServers [readonly]

			The Layer 3 addresses of DNS domain name servers to
			use for DNS requests.

		string PeerAddress [readonly]

			The Layer 3 address associated with the destination
			endpoint of a point-to-point link.  This value is
			specified as per Address.

		int32 Prefixlen [readonly]

			The number of bits in a Layer 3 address that are
			part of the network address.  For IPv4 networks this
			corresponds to the length of the network mask; e.g.
			a netmask of 255.255.255.0 has a prefixlen of 24
			(note arbitrary CIDR masks are not supported.)

		array{uint8} VendorEncapsulatedOptions [readonly]

			Server-provided value for the DHCP option 43
			value.  Its interpretation varies based on
			the DHCP server.

		string WebProxyAutoDiscoveryUrl [readonly]

			The Web Proxy Auto-Discovery URL for this network
			as reported over DHCP.