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