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>