Bug 185496 - [re] RTL8169 doesn't receive unicast ethernet packets unless in promiscuous mode
Summary: [re] RTL8169 doesn't receive unicast ethernet packets unless in promiscuous mode
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 8.2-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-05 17:10 UTC by Vladimir Machulsky
Modified: 2018-01-03 05:16 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Machulsky 2014-01-05 17:10:00 UTC
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: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0x1100-0x11ff mem 0x88000000-0x880000ff irq 9 at device 0.0 on cardbus0
re0: Chip rev. 0x18000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> 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.
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2014-01-06 00:09:22 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-net

Over to maintainer(s).
Comment 2 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 07:58:45 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped