From owner-freebsd-bugs@FreeBSD.ORG Sun Jan 5 17:10:00 2014 Return-Path: Delivered-To: freebsd-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CCD77381 for ; Sun, 5 Jan 2014 17:10:00 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A72B7125D for ; Sun, 5 Jan 2014 17:10:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id s05HA0Jt071446 for ; Sun, 5 Jan 2014 17:10:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id s05HA0YY071445; Sun, 5 Jan 2014 17:10:00 GMT (envelope-from gnats) Resent-Date: Sun, 5 Jan 2014 17:10:00 GMT Resent-Message-Id: <201401051710.s05HA0YY071445@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, Vladimir Machulsky Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8778437D for ; Sun, 5 Jan 2014 17:09:48 +0000 (UTC) Received: from oldred.freebsd.org (oldred.freebsd.org [IPv6:2001:1900:2254:206a::50:4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 57D151259 for ; Sun, 5 Jan 2014 17:09:48 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id s05H9lem059370 for ; Sun, 5 Jan 2014 17:09:47 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id s05H9lDG059365; Sun, 5 Jan 2014 17:09:47 GMT (envelope-from nobody) Message-Id: <201401051709.s05H9lDG059365@oldred.freebsd.org> Date: Sun, 5 Jan 2014 17:09:47 GMT From: Vladimir Machulsky To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: misc/185496: RTL8169 doesn't receive unicast ethernet packets unless in promiscuous mode X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jan 2014 17:10:01 -0000 >Number: 185496 >Category: misc >Synopsis: RTL8169 doesn't receive unicast ethernet packets unless in promiscuous mode >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jan 05 17:10:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: Vladimir Machulsky >Release: 8.2-RELEASE >Organization: >Environment: FreeBSD xxx.xxx 8.2-RELEASE FreeBSD 8.2-RELEASE #2: Sat Nov 9 22:42:13 EET 2013 root@xxx.xxx:/usr/obj/usr/src/sys/YYYYY i386 >Description: Hi! I have old laptop in use as a router. It's Panasonic CF-M34 - Celeron 400MHZ, 192Mb DRAM. The problem is following: STLab C-160 Cardbus Network card with RTL8169 chipset denies to receive unicast ethernet packets until I turn on promiscuous mode. re0: port 0x1100-0x11ff mem 0x88000000-0x880000ff irq 9 at device 0.0 on cardbus0 re0: Chip rev. 0x18000000 re0: MAC rev. 0x00000000 miibus0: on re0 rgephy0: PHY 1 on miibus0 rgephy0: 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow re0: Ethernet address: 00:0a:cd:16:84:ed re0: [FILTER] I believe something wrong with driver part which program chip about what to receive and what to not. I've looked to if_re.c changelog and found nothing obviously related to this problem was checked in since 8.2, so I believe this problem is actual for CURRENT too. >How-To-Repeat: In the following experiments two hosts are involved: a) ROUTER - have single RTL8169 network card b) HOST - neightbor host with a single network card. Both hosts are connected to the same ethernet switch and have ip addresses from the same ip network. Initial setup: ROUTER is cold booted. HOSTs arp cache is cleared. Infinite count ping of ROUTERs ip address process is started on HOST. 1) ROUTER boots, and successfully replies for arp requests - HOSTs arp data about router ip address is correct. I.e. broadcast ethernet packets are successfully received by ROUTER and ROUTERs transmitting path functioning flawlessly too. 2) ICMP Ping packets from HOST remains without replies. Starting Tcpdump on HOST. Tcpdump show icmp packets with correct destination ROUTER ethernet address are goes out and no any replies seen. 3) Tcpdump on ROUTER started. HOST start receive ping replies! After interrupting tcpdump, HOST stop receive ICMP replies. 4) Starting ping of HOSTs ip address process from ROUTER. ROUTER get no a sole ICMP reply. Tcpdump on HOST show both ROUTER ICMP requests and HOST ICMP replies. >Fix: >Release-Note: >Audit-Trail: >Unformatted: