All,

The anonymous port SMF manifest has been added to the manifest table
under for your review:

http://opensolaris.org/os/community/smf/manifests/

I'd like to extend a big public "thank you" to Rich Miller.
Please contact me directly with your mailing address for
your very own smf(f) ceramic coffee mug (all the kool kids
have them :-)

Thanks Again Rich,

tasha



Rich Miller wrote:
> I would like to make the following as a contribution to the collection of
> SMF manifest files on opensolaris.org .
>  
> The attached Service Management Facility (SMF) manifest and method files
> are intended to cover a situation that occurs fairly commonly with
> applications from ISVs. It has been a known practice for a long time in
> the UNIX community to allocate network services ports (as defined in
> /etc/services or /etc/inet/services) so that an application can
> guarantee access to a specific port or ports above the default anonymous
> port boundary (typically at 32768). In Solaris, this is done by setting
> the kernel variable udp_smallest_anon_port using the ndd command.
>  
> We understand that trying to reserve an anonymous port is bad practice,
> but it is also a practice that has been in place for many years, has
> been abetted by most vendors (e.g. Solaris' udp_smallest_anon_port),
> still works with most UNIX and Linux variants, and would require a
> major release from most ISVs to fix. A technique to do so is therefore
> required until applications are changed.
>  
> The standard way to do this on a Solaris system in the past has been to
> create or modify the file:
> /etc/rc2.d/S69inet
> with the line:
> ndd -set /dev/udp udp_smallest_anon_port 32800
>  
> This no longer works reliably (notably from Solaris 10 6/06 (update 2))
> as so much has moved to SMF that most system daemons are being started
> before S69inet runs (due to its deprecated "legacy" status). Hence,
> ports the application expects to be available are not being protected
> soon enough in the boot process by the ndd command. In fact what
> typically happens is that udp_smallest_anon_port is changed, but not
> before some daemon allocates a port that it would not have had access
> to later in a system boot. If that port happens to be one that an
> application expects to use, then that application will typically fail
> to start, often with a rather misleading error message. As of Solaris
> 10 11/06 (update 3), the snmpdx, snmpXdmid, and dmispd daemons in
> particular will contend for anonymous ports.
>  
> Installation instructions and a copy of the method file are provided in
> the manifest file. The manifest file simply makes execution of several
> of the critical daemons dependent on the completion of the method file.
> The method file just sets udp_smallest_anon_port.
>  
> This manifest does not and cannot guarantee that all possible daemons
> are blocked during a system boot until udp_smallest_anon_port is set,
> but it does block the most likely system daemons. Additional
> "dependent" blocks may be added to the manifest if other (especially
> user installed) daemons are allocating anonymous ports in a way that
> interferes with applications.
>  
> It is NOT recommended that other system parameters be set from this
> method file due to the dependency requirements. A separate manifest and
> method should be used for variables that do not require that daemons be
> blocked. Such a manifest is already available on the opensolaris.org
> website.
>  
> The manifest and method files have been used successfully on a variety
> of Sun hardware platforms with Solaris 10 11/06. These include V240,
> T2000, Ultra 40, v20z, x4100, and x4600.
>  
> Rich Miller - Sun Microsystems
> rich.miller at sun.com
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> smf-discuss mailing list
> smf-discuss at opensolaris.org


Reply via email to