5.4: Setting net.ipv4.conf.<interface>.arp_notify=1 does not generate gratuitous ARPs

Bug #1989187 reported by Isaac True
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Expected behaviour:

The kernel should send out a gratuitous ARP on the interface when the following commands are executed:

$ sudo sysctl -w net.ipv4.conf.eth0.arp_notify=1
net.ipv4.conf.eth0.arp_notify = 1
$ sudo ip link set dev eth0 down
$ sudo ip link set dev eth0 up

Result:

The gratuitous ARP packet is generated inside the kernel (inetdev_send_gratuitous_arp() is called) but the packet is never sent out on the interface. Generating gratuitous ARP packets with "arping" works however.
---
ProblemType: Bug
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access '/dev/snd/': No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.20.11-0ubuntu27.24
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
CRDA: N/A
CasperMD5CheckResult: skip
DistroRelease: Ubuntu 20.04
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig'
Lsusb: Error: command ['lsusb'] failed with exit code 1:
Lsusb-t: Error: command ['lsusb', '-t'] failed with exit code 1: /sys/bus/usb/devices: No such file or directory
Lsusb-v: Error: command ['lsusb', '-v'] failed with exit code 1:
MachineType: QEMU Standard PC (Q35 + ICH9, 2009)
Package: linux (not installed)
PciMultimedia:

ProcEnviron:
 TERM=screen
 PATH=(custom, no user)
 LANG=C.UTF-8
ProcFB: 0 EFI VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.4.0-1074-kvm root=PARTUUID=88d3c80a-b7b6-4782-8531-3699e254fb95 ro console=tty1 console=ttyS0 panic=-1
ProcVersionSignature: Ubuntu 5.4.0-1074.79-kvm 5.4.195
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-1074-kvm N/A
 linux-backports-modules-5.4.0-1074-kvm N/A
 linux-firmware N/A
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
Tags: focal uec-images
Uname: Linux 5.4.0-1074-kvm x86_64
UnreportableReason: This report is about a package that is not installed.
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: N/A
_MarkForUpload: False
dmi.bios.date: 02/06/2015
dmi.bios.vendor: EFI Development Kit II / OVMF
dmi.bios.version: 0.0.0
dmi.board.name: LXD
dmi.board.vendor: Canonical Ltd.
dmi.board.version: pc-q35-7.0
dmi.chassis.type: 1
dmi.chassis.vendor: QEMU
dmi.chassis.version: pc-q35-7.0
dmi.modalias: dmi:bvnEFIDevelopmentKitII/OVMF:bvr0.0.0:bd02/06/2015:svnQEMU:pnStandardPC(Q35+ICH9,2009):pvrpc-q35-7.0:rvnCanonicalLtd.:rnLXD:rvrpc-q35-7.0:cvnQEMU:ct1:cvrpc-q35-7.0:
dmi.product.name: Standard PC (Q35 + ICH9, 2009)
dmi.product.version: pc-q35-7.0
dmi.sys.vendor: QEMU

Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

When changing the interface hardware address, it also works: ip link set eth0 addr XX:XX:XX:XX:XX:XX.

It also works when using virtio_net.

It has been tested with e1000e, where it fails when setting the interface up.

When changing the address, __dev_xmit_skb will call sch_direct_xmit and the packet will reach the network. When setting the interface up, __dev_xmit_skb will call dev_qdisc_enqueue and the packet will not reach the network. Interface tx_packets stats will also not change. This indicates a possible issue with the qdisc code when the interface has just been setup. Notice that the code is called from the NETDEV_UP notifier.

Cascardo.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1989187

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Isaac True (itrue) wrote : AudioDevicesInUse.txt

apport information

tags: added: apport-collected focal uec-images
description: updated
Revision history for this message
Isaac True (itrue) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : Lspci.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : Lspci-vt.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : ProcModules.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : UdevDb.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : WifiSyslog.txt

apport information

Revision history for this message
Isaac True (itrue) wrote : acpidump.txt

apport information

Revision history for this message
Isaac True (itrue) wrote :

I can reproduce this issue on a 20.04 LXD VM.

Isaac True (itrue)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.