Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!HOGG.CC.UOREGON.EDU!jqj
From: jqj@HOGG.CC.UOREGON.EDU
Newsgroups: comp.protocols.tcp-ip
Subject: default broadcast address
Message-ID: <8807071832.AA07969@hogg.cc.uoregon.edu>
Date: 7 Jul 88 18:32:26 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 47

A typical situation for many of us is a subnetted class B network
running a variety of IP-based hosts, including many that are 4.3BSD and
4.2BSD based.  In such an environment, one settable parameter on the
4.3BSD systems and others is the "broadcast address".   There are many
possible values for this; I am curious what other sites set it to.

It is clearly desirable for all machines on a given subnet to agree on
the broadcast address.  4.xBSD generates ICMP errors or erroneosly
forwards Ethernet broadcasts with IP addresses it does not recognize as
IP broadcasts; even the latest Tahoe 4.3BSD code recognizes as IP
broadcasts only {net,0,0}, {net,subnet,0}, 255.255.255.255, 0.0.0.0,
and the set broadcast address (and not both {net,-1,-1} and
{net,subnet,-1} even though both are legal!).  Earlier releases
recognize only a subset of these.  By getting everybody to agree you'll
eliminate all those erroneous ICMP unreachables and ARP requests for
your subnet broadcast address.  You might even avoid a serious
broadcast storm...

What is not clear is what in an imperfect world to try to get
everybody to agree to.  Some possibilities:
	{net,0,0}	the 4.2BSD standard, and still the SunOS 4.0
			default (according to "man ifconfig").  Some
			people use this for backwards compatibility
			with 4.2, but it is a violation of the IP spec
			and 4.2 implementations are disappearing (right?).
	{net,subnet,-1}	i.e. the subnet broadcast address.  The 4.3
			Tahoe default if you set a subnet mask but no
			broadcast address.  Not too good if you plan to
			change your subnet mask or if there is confusion
			over what it is (e.g. if you're trying heterogenous
			sized subnets).
	{-1,-1,-1}	i.e. the local broadcast address.  Some IP
			implementations insist on generating this address,
			so it might also be a reasonable choice of standard.
	{net,-1,-1}	i.e. the network broadcast address.  Has the
			advantage of being immune to mis-set subnet mask
			problems.  But not a good choice if you have
			routers that explode letter bombs and you want
			broadcasts to be subnet-local.

In the past, I've standardized on {net,subnet,-1}.  Charles Hedrick, the
first of us to have analyzed the broadcast storm problem, has in the past
recommended {net,0,0} as a concession to 4.2BSD [Chuck, am I taking your
name in vain?].

So, my questions:  (1) What have other sites standardized on?  (2) What
are the disadvantages, if any, of standardizing on the subnet broadcast
address?