From owner-freebsd-bugs@FreeBSD.ORG Thu Jun 29 08:47:05 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CAB4E16A403 for ; Thu, 29 Jun 2006 08:47:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E2AC43F0F for ; Tue, 27 Jun 2006 17:10:21 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k5RHAL0e001546 for ; Tue, 27 Jun 2006 17:10:21 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k5RHALZ2001544; Tue, 27 Jun 2006 17:10:21 GMT (envelope-from gnats) Resent-Date: Tue, 27 Jun 2006 17:10:21 GMT Resent-Message-Id: <200606271710.k5RHALZ2001544@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Andrey V. Elsukov" , Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0412716A409 for ; Tue, 27 Jun 2006 17:02:13 +0000 (UTC) (envelope-from butcher@heavennet.ru) Received: from mail.insysnet.ru (ns2.insysnet.ru [81.18.141.4]) by mx1.FreeBSD.org (Postfix) with SMTP id 4CD5743D79 for ; Tue, 27 Jun 2006 17:02:11 +0000 (GMT) (envelope-from butcher@heavennet.ru) Received: (qmail 6010 invoked by uid 3005); 27 Jun 2006 15:47:39 -0000 Received: from butcher@heavennet.ru by mail.insysnet.ru by uid 3002 with qmail-scanner-1.15 (Virus scan Clear:. Processed in 0.105265 secs); 27 Jun 2006 15:47:39 -0000 Received: from unknown (HELO mail.heavennet.ru) (81.18.141.41) by mail.insysnet.ru with SMTP; 27 Jun 2006 15:47:39 -0000 Received: by mail.heavennet.ru (Postfix, from userid 1000) id EEAA615C4A; Tue, 27 Jun 2006 19:47:37 +0400 (MSD) Message-Id: <20060627154737.EEAA615C4A@mail.heavennet.ru> Date: Tue, 27 Jun 2006 19:47:37 +0400 (MSD) From: "Andrey V. Elsukov" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: rwatson@FreeBSD.org, glebius@FreeBSD.org, andre@FreeBSD.org Subject: kern/99558: FreeBSD 6.1 can't send packets to INADDR_BROADCAST X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Andrey V. Elsukov" , citrin@citrin.ru List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2006 08:47:05 -0000 >Number: 99558 >Category: kern >Synopsis: FreeBSD 6.1 can't send packets to INADDR_BROADCAST >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jun 27 17:10:20 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Andrey V. Elsukov >Release: FreeBSD 6.1 >Organization: >Environment: FreeBSD 6.1-PRERELEASE, 6.1-STABLE have this bug FreeBSD 4.11-RELEASE, FreeBSD 5.4-STABLE, FreeBSD 5.5-RELEASE works ok. >Description: FreeBSD 6.1 can't send UDP Broadcast. Here is simple test programm: --- test.c --- #include #include #include #include #include #include #include int main(void) { int sock, val, ret; struct sockaddr_in addr; sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) err(1, "socket()"); addr.sin_family = AF_INET; addr.sin_port = htons(5000); addr.sin_addr.s_addr = htonl(INADDR_BROADCAST); val = 1; ret = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (const char*)&val, sizeof(val)); if (ret < 0) err(2, "setsockopt()"); ret = sendto(sock, "test", 4, 0, (struct sockaddr*)&addr, sizeof(addr)); if (ret != 4) err(3, "sendto()"); close(sock); return (0); } --- test.c --- 1. I've connect via PPTP tunnel and my host have default route. [butcher@btr butcher]> ./test [butcher@btr butcher]> sudo tcpdump -ni ng0 -XX udp port 5000 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ng0, link-type NULL (BSD loopback), capture size 96 bytes 19:25:32.169657 IP 192.168.3.6.53565 > 255.255.255.255.5000: UDP, length 4 0x0000: 0200 0000 4500 0020 241a 0000 4011 9305 ....E...$...@... 0x0010: c0a8 0306 ffff ffff d13d 1388 000c 6f88 .........=....o. 0x0020: 7465 7374 test ^C Message was send, but via PPTP to default destination. 2. I've not connected to PPTP server and don't have default route. [butcher@btr butcher]> netstat -rnf inet | grep default [butcher@btr butcher]> ./test test: sendto(): Network is unreachable test programm was fail with error. 3. I have the default route. [butcher@btr butcher]> sudo route add default server add net default: gateway server [butcher@btr butcher]> ./test [butcher@btr butcher]> sudo tcpdump -ni nve0 -XX udp port 5000 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on nve0, link-type EN10MB (Ethernet), capture size 96 bytes 19:29:51.988429 IP 192.168.4.234.54134 > 255.255.255.255.5000: UDP, length 4 0x0000: 0080 4836 9531 4255 5443 4821 0800 4500 ..H6.1BUTCH!..E. 0x0010: 0020 2459 0000 4011 90e2 c0a8 04ea ffff ..$Y..@......... 0x0020: ffff d376 1388 000c 6b6b 7465 7374 ...v....kktest ^C Message was send to default destination with router's destination MAC address. >How-To-Repeat: Always. >Fix: >Release-Note: >Audit-Trail: >Unformatted: