#2677·linux

Wifi interface replies on arp requests only in promiscuous mode

Author: ingo-hCreated Sep 10, 2018Updated Sep 12, 2026
LabelsWifi Issue

On working with proxy arp I have found this issue with a RPi 3B and 3B+. It should work without promiscuous mode like any other computer. I verified it with my laptop that does not need promiscuous mode.

The problem can be reproduced with this setup:
rpi-parp - RasPi with proxy arp enabled
host-eth - host 192.168.10.60 on the ethernet port of the RasPi
host-wifi - host in the wlan associated to the wifi interface of the RasPi

Setup proxy arp on rpi-parp:

rpi-parp ~# echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp
rpi-parp ~# echo 1 > /proc/sys/net/ipv4/ip_forward
rpi-parp ~# ip route add 192.168.10.60/32 dev eth0

If you ping from host-wifi ping 192.168.10.60 you will only get timeouts. tcpdump shows you that you do not get arp replies from rpi-parp. Of course tcpdump on host-wifi. If you sniff on rpi-parp it suddenly works because tcpdump sets the interfaces to promisc mode. Verify it with:

rpi-parp ~# ip link set wlan0 promisc on

and ping again from host-wifi. You will get then ping replies.

How can I make this working without promiscuous mode?