Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!pasteur!ucbvax!DECWRL.DEC.COM!mogul
From: mogul@DECWRL.DEC.COM (Jeffrey Mogul)
Newsgroups: comp.protocols.tcp-ip
Subject: Re: default broadcast address
Message-ID: <8807142329.AA15478@acetes.dec.com>
Date: 14 Jul 88 23:29:00 GMT
References: <8807141838.AA03149@bacchus.dec.com>
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 33

Phil Karn writes:
    In my opinion, hosts should treat any packet as a broadcast if it
    comes in with the LINK level broadcast address (e.g., all 1's on
    Ethernet). The IP destination address field in such packets should
    be completely IGNORED.

I'm not sure this is precisely right.  There are really two different
reasons to recognize incoming packets as broadcast:
    (1) Proper broadcasts should be accepted and passed to the
    	appropriate receiver process.
    (2) Certain things should never be done with packets that are
	received as broadcasts, link-level or IP-level.

"BOOTP" packets, etc., come under reason 1.  Not sending ICMP
error messages in response to broadcasts comes under reason 2.

The remaining question is: what should be done with a packet that
is received as a link-layer broadcast but is addressed to an IP
address which is not believed to be a broadcast address.  Simply
"ignoring" the IP address would be a mistake because the packet
might be meant for a different host.  In my opinion, a (non-gateway)
host should simply drop any packet with a destination that is not
either one of its own IP addresses, or one of its IP broadcast
addresses.  In addition, all hosts (gateway or not) must remember
whether a packet was received as a link-level broadcast, to avoid
violating the rule in reason 2 (above).

So what should a gateway do if it receives an IP packet that it
would normally forward, but the packet was a link-level broadcast?
Drop it?  Forward it?  Forward it and send a redirect, if necessary?
The conservative approach would be "drop it", but perhaps someone
is trying to discover a gateway in a brain-damaged sort of way.
Again, simply "ignoring" the IP address is probably wrong.
Suggestions?