Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  9 Jan 2000 12:03:12 -0800 (PST)
From:      sra@hactrn.net
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/16013: FreeBSD 3.3 sends ICMP reply to IP unicast received as ethernet broadcast
Message-ID:  <20000109200312.2188814E5C@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         16013
>Category:       kern
>Synopsis:       FreeBSD 3.3 sends ICMP reply to IP unicast received as ethernet broadcast
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan  9 12:10:02 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Rob Austein
>Release:        3.3-Release
>Organization:
>Environment:
FreeBSD western-flyer.internetshare.com 3.3-RELEASE FreeBSD 3.3-RELEASE #0: Wed Dec 8 18:59:17 PST 1999 root@western-flyer.internetshare.com:/usr/src/sys/compile/WESTERNFLYER i386

>Description:
FreeBSD receives a (clearly broken) IP unicast packet encapsulated in an ethernet broadcast frame.
Unicast packet is addressed to another machine on the local net (other machine happens to be down).
FreeBSD attempts to forward the IP packet: ARPs for destination address,
and issues an ICMP redirect.

Arguably the packet should just be dropped silently, but in any case FreeBSD should not
be sending an ICMP error message in response to a broadcast packet.
>How-To-Repeat:
Generate a unicast IP packet with IP destination address of an unused address on the local net.
Send this encapsulated in an ethernet broadcast frame (use BPF, or find a Windows machine that's
broken in the same strange way as the one that caused me to notice this).
Run tcpdump to watch the traffic pattern.
>Fix:
RFC-1122 section 2.4 mandates the existance of a flag indicating link-layer
broadcast in a received packet.  I don't know the BSD stack well enough to know
whether that flag exists, but if it does, checking it before sending ICMP
error messages or forwarding the packet should do the trick.  (Sorry, I know
IP stacks pretty well, but mostly deeply embedded devices, not BSD kernel.)

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000109200312.2188814E5C>