kern/144777: [arp] proxyarp broken in 8.0
Dmitry Marakasov
amdmi3 at FreeBSD.org
Tue Mar 16 02:40:07 UTC 2010
>Number: 144777
>Category: kern
>Synopsis: [arp] proxyarp broken in 8.0
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Mar 16 02:40:06 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Dmitry Marakasov
>Release: FreeBSD 8.0-RELEASE i386
>Organization:
>Environment:
System: FreeBSD hades.panopticon 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Tue Nov 24 22:31:59 MSK 2009 root at hades.panopticon:/async/obj/usr/src/sys/HADES i386
>Description:
* Note that I'm just relaying this bugreport, I don't have access to original environement it was encountered on. However, can setup it if needed and can ping original reporter.
The problem: proxyarp (as done by mpd - that is, via /usr/sbin/arp utility, which is likely the cause) doesn't seem to work correctly in 8.0.
original log excerpt:
[t_pptp-2] IFACE: Connecting tcpmssfix
[t_pptp-2] IFACE: Add address 10.0.10.1/32->10.0.17.204 to ng0
[t_pptp-2] exec: /usr/sbin/arp -S 10.0.17.204 0:15:17:bb:fd:2e pub
[t_pptp-2] system: command "/usr/sbin/arp" returned 256
original ifconfig:
vlan13: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:15:17:bb:fd:2e
inet 82.148.15.26 netmask 0xffffffc0 broadcast 82.148.15.63
inet 10.0.0.4 netmask 0xffffe000 broadcast 10.0.31.255
inet 213.148.20.251 netmask 0xffffff00 broadcast 213.148.20.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
vlan: 13 parent interface: em1
As I understand, this case can be roughly reproduced as follows (that's another setup, 7.2-R and 8.0-R in virtualbox):
# 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:36:d4:ce
inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
# ifconfig tun0 create 10.0.2.100/32 10.0.2.101
# arp -S 10.0.2.101 08:00:27:36:d4:ce pub
Output on 7.2-RELEASE:
# arp -S 10.0.2.101 08:00:27:36:d4:ce pub
delete: cannot locate 10.0.2.101
# arp -a
? (10.0.2.101) at 08:00:27:36:d4:ce on em0 permanent published (proxy only) [ethernet]
Output on 8.0-RELEASE:
# arp -S 10.0.2.101 08:00:27:36:d4:ce pub
arp: writing to routing socket: Invalid argument
arp: writing to routing socket: Invalid argument
# arp -a
? (10.0.2.15) at 08:00:27:36:d4:ce on em0 permanent [ethernet]
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list