some quick questions. how does this functionality interact with different network management services, specifically network/physical:nwam and network/physical:default? is network configuration only supported for one of these methods? if so, what happens if that method is disabled and another one is in use?
does enabling the svc:/network/dns/install have any interactions with nsswitch.conf(4)? for example, is it an error to enable svc:/network/dns/install if dns is not enabled via nsswitch.conf(4). will the svc:/network/install service reconfigure interfaces that already have an existing configuration? will the svc:/network/install service ever unconfigure interfaces? for example, if no install_ipv4_interface and install_ipv6_interface values are specified, and the svc:/network/install service is brought online, will it do anything? ed On Wed, May 12, 2010 at 09:01:22AM -0700, Sebastien Roy wrote: > I'm submitting this fast-track for Mark Haywood. The release binding > is Minor. Note that this case has a dependency on PSARC 2010/157. > > Background > ========== > The Solaris Next installers intend to use SMF properties, and install > derived, SMF profiles to customize system configurations. This is > driving the requirement that Solaris provide public interfaces, in the > form of of SMF properties, which, when consumed, will provide an > initial physical network interface configuration and an initial DNS > client configuration for the installed system. This case proposes a > set of SMF properties that will satisfy the following requirements: > > 1 - the ability to plumb and assign an IPv4 and/or IPv6 address to a > physical interface. > > 2 - the ability to assign a default route to an IPv4 and/or IPv6 > physical interface. > > 3 - the ability to configure a DNS client with a nameserver list, a > search list and a domain. > > A subsequent ARC case will explain how the installers intend to > consume the interfaces during install. > > Proposal > ======== > Two new SMF services will be created, svc:/network/install and > svc:/network/dns/install. Each of these services will contain > properties that will be used by the services to configure an initial > physical network interface and/or an initial DNS client > configuration. The services will initially be disabled with property > values that will not result in any system configuration. As part of > install, an SMF profile, enabling the services and containing the > appropriate configuration property values for the services, will be > applied to the system. On the first reboot following the install, the > service start methods will check the properties to see if property > values have been assigned. If so, then the services will use these > property values to configure the system. The service start methods > will terminate after deleting their service properties and disabling > the services themselves. > > The svc:/network/install service will support configuring one IPv4 > interface and/or one IPv6 interface and, optionally, a default route > reachable by these interfaces. The service will define two property > groups, one for an IPv4 interface and one for an IPv6 interface. The > service will use its properties and ipadm(1M) to configure the network > interfaces. And similarly, the service will use its properties and > route(1M) to define a default route. > > The install_ipv4_interface property group will contain the following > properties: > > name a required property of the property group and will > contain the value that will be used as the value of > <addrobj> when adding an IPv4 interface address. It > has an SMF property type of 'astring'. > > address_type a required property and will contain the value that > will be used to construct the -T option for the > ipadm(1M) create-addr sub-command. Therefore, the > valid values are ?static? or ?dhcp?. It has an SMF > property type of 'astring'. > > static_address only required with an 'address_type' of ?static? and > will be used to construct the ?local? address for > the ipadm(1M) create-addr sub-command. It has an SMF > property type of 'net_address_v4'. > > dhcp_wait optional property that only applies with an > 'address_type' of ?dhcp?. If defined, then the > property value will be used to construct the ?-w > <seconds> | forever? portion of the ipadm(1M) > create-addr sub-command. It has an SMF property type > of 'astring'. > > default_route an optional property whose value will be used to > define a default route using route(1M). In other > words, ?/usr/sbin/route -p add default default-route > -ifp ifname? (where ifname is the interface name > portion of the 'name' property). It has an SMF > property type of 'net_address_v4'. > > The install_ipv6_interface property group will contain the following > properties: > > name a required property of the property group and will > contain the value that will be used as the value of > <addrobj> when adding an IPv6 interface address. It > has an SMF property type of 'astring'. > > address_type a required property and will contain the value that > will be used to construct the -T option for the > ipadm(1M) create-addr sub-command. Therefore, the > valid values are ?static? or ?addrconf?. It has an > SMF property type of 'astring'. > > static_address only required with an 'address_type' of ?static? and > will be used to construct the ?local? address for > the ipadm(1M) create-addr sub-command. It has an SMF > property type of 'net_address_v6'. > > interface_id an optional property that only applies with an > 'address_type' of ?addrconf?. If defined, then the > property value will be used to construct the ?-i > interface_id? portion of the ipadm(1M) create-addr > sub-command. It has an SMF property type of > 'net_address_v6'. > > stateless an optional property that only applies with an > 'address_type' of ?addrconf?. If defined, then the > property value will be used to construct the ?-p > stateless=yes|no? portion of the ipadm(1M) > create-addr sub-command. It has an SMF property type > of 'astring'. > > stateful an optional property that only applies with an > 'address_type' of ?addrconf?. If defined, then the > property value will be used to construct the ?-p > stateful=yes|no? portion of the ipadm(1M) > create-addr sub-command. It has an SMF property type > of 'astring'. > > default_route an optional property whose value will be used to > define a default route using route(1M). In other > words, ?/usr/sbin/route -p add default default-route > -ifp ifname? (where ifname is the interface name > portion of the 'name' property). It has an SMF > property type of 'net_address_v6'. > > The svc:/network/dns/install service will support the configuration of > a DNS client. The service will define one property group, > install_props. The service will use its properties to construct a DNS > resolv.conf(4) file. > > The install_props property group will contain the following > properties: > > domain an optional property of the property group and, if > defined, will contain the value of the local domain > name. Its value will be used to construct the > ?domain? directive in resolv.conf(4). It has an SMF > property type of 'astring'. > > nameserver a required property whose value will be used to > construct the ?nameserver? directives in > resolv.conf(4). It has an SMF property type of > 'net_address', but should contain an > 'net_address_list' of IPv4 and/or IPv6 addresses. > > search an optional property that if defined, it will > contain a value for the search order host name > lookup. Its value will be used to construct the > ?search? directive in resolv.conf(4). It has an SMF > property type of 'astring', but should contain an > 'astring_list' of domain values. > > An example SMF profile configuring both IPv4 and IPv6 interfaces and a > DNS client follows: > > <?xml version='1.0'?> > <!DOCTYPE service_bundle SYSTEM > '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> > <service_bundle type='profile' name='default'> > <service name='network/physical' version='1' type='service'> > <instance name='nwam' enabled='false'/> > </service> > <service name='network/install' version='1' type='service'> > <instance name='default' enabled='true'/> > <property_group name='install_ipv4_interface' type='application'> > <propval name='name' type='astring' value='bge0/v4' /> > <propval name='address_type' type='astring' value='static' /> > <propval name='static_address' type='net_address_v4' > value='10.4.235.146/24' /> > <propval name='default_route' type='net_address_v4' > value='10.4.235.1' /> > </property_group> > <property_group name='install_ipv6_interface' type='application'> > <propval name='name' type='astring' value='bge0/v6' /> > <propval name='address_type' type='astring' value='addrconf' /> > 9 > <propval name='static_address' type='net_address_v6' > value='::0/0' /> > <propval name='interface_id' type='net_address_v6' > value='::abcd/64' /> > <propval name='stateless' type='astring' value='no' /> > <propval name='stateful' type='astring' value='no'/> > <propval name='default_route' type='net_address_v6' > value='::0' /> > </property_group> > </service> > <service name='network/dns/install' version='1' type='service'> > <instance name='default' enabled='true'/> > <property_group name='install_props' type='application'> > <property name='nameserver' type='net_address'> > <net_address_list> > <value_node value='129.145.155.220' /> > <value_node value='129.145.154.118' /> > <value_node value='129.147.9.5' /> > <value_node value='129.147.4.5' /> > </net_address_list> > </property> > <propval name='domain' type='astring' value='sfbay.sun.com' /> > <property name='search' type='astring'> > <astring_list> > <value_node value='sfbay.sun.com' /> > <value_node value='east.sun.com' /> > </astring_list> > </property> > </property_group> > </service> > </service_bundle> > > This case has a dependency on the new SMF property type, > SCF_TYPE_NET_ADDR, described in PSARC/2010/157. > > The exported interfaces below are intended for Solaris Next (Minor > binding) only. > > Interface Table > > Exported Interfaces > > Name Commitment Comments > --------------------------------------------------------------------------- > svc:/network/install Committed Network interface install > service > install_ipv4_interface Committed IPv4 network interface > SMF property group > install_ipv4_interface.name > install_ipv4_interface.address_type > install_ipv4_interface.static_address > install_ipv4_interface.dhcp_wait > install_ipv4_interface.default_route > > install_ipv6_interface Committed IPv6 network interface > SMF property group > install_ipv6_interface.name > install_ipv6_interface.address_type > install_ipv6_interface.static_address > install_ipv6_interface.interface_id > install_ipv6_interface.stateless > install_ipv6_interface.stateful > install_ipv6_interface.default_route > > svc:/network/dns/install Committed DNS client install svc > install_props Committed DNS client configuration > property group > install_props.domain > install_props.nameserver > install_props.search > > Imported Interfaces > Name Commitment Comments > --------------------------------------------------------------------------- > ipadm(1M) Committed Configure network interfaces > route(1M) Committed Configure default routes > resolv.conf(4) Committed DNS client configuration
_______________________________________________ opensolaris-arc mailing list [email protected]
