Bug 152235 - [arp] Permanent local ARP entries are not properly updated after MAC address change
Summary: [arp] Permanent local ARP entries are not properly updated after MAC address ...
Status: Closed DUPLICATE of bug 145300
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 9.0-CURRENT
Hardware: Any Any
: Normal Affects Only Me
Assignee: Alexander V. Chernikov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-14 13:50 UTC by Gleb Kurtsou
Modified: 2015-10-17 12:38 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gleb Kurtsou 2010-11-14 13:50:08 UTC
The bug exists for a while already, it's probably related to import of new ARP/lltable code.

If interface has more than one ip addressed assigned and interface ether (MAC) addresses is changed entries in ARP table are not properly updated. It happens because ARP tables are updated lazily but not on mac address change and all entries but one are always missed.

How-To-Repeat: # ifconfig em0 192.168.1.1
# dhclient em0
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 10.0.2.2
bound to 10.0.2.15 -- renewal in 43200 seconds.
# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
	ether 08:00:27:9f:f7:81
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
	inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet 127.0.0.1 netmask 0xff000000 
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2): 56 data bytes
64 bytes from 10.0.2.2: icmp_seq=0 ttl=63 time=0.768 ms
64 bytes from 10.0.2.2: icmp_seq=1 ttl=63 time=3.293 ms
^C
--- 10.0.2.2 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.768/2.030/3.293/1.263 ms
# arp -an
? (10.0.2.15) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
? (192.168.1.1) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
? (10.0.2.2) at 52:54:00:12:35:02 on em0 expires in 1196 seconds [ethernet]
# ifconfig em0 ether 08:00:27:9f:f7:aa
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
	ether 08:00:27:9f:f7:aa
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
	inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
### not updated until used again
# arp -an
? (10.0.2.15) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
? (192.168.1.1) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
? (10.0.2.2) at 52:54:00:12:35:02 on em0 expires in 1160 seconds [ethernet]
# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2): 56 data bytes
^C
--- 10.0.2.2 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
zsh: exit 2     ping 10.0.2.2
# dhclient em0
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 10.0.2.2
bound to 10.0.2.15 -- renewal in 43200 seconds.
# arp -an
? (10.0.2.15) at 08:00:27:9f:f7:aa on em0 permanent [ethernet]
? (192.168.1.1) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
#### I don't expect entries to be deleted, they are permanent
# arp -da
10.0.2.15 (10.0.2.15) deleted
192.168.1.1 (192.168.1.1) deleted
# arp -an
? (10.0.2.15) at 08:00:27:9f:f7:aa on em0 permanent [ethernet]
? (192.168.1.1) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
# arp -d 192.168.1.1
192.168.1.1 (192.168.1.1) deleted
# arp -an
? (10.0.2.15) at 08:00:27:9f:f7:aa on em0 permanent [ethernet]
? (192.168.1.1) at 08:00:27:9f:f7:81 on em0 permanent [ethernet]
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2010-11-20 09:31:07 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-net

reclassify.
Comment 2 Alexander V. Chernikov freebsd_committer freebsd_triage 2015-10-17 12:38:04 UTC

*** This bug has been marked as a duplicate of bug 145300 ***