net/mpd5: proxy arp don't work on FreeBSD 8

Luiz Otavio O Souza lists.br at gmail.com
Tue Mar 2 12:44:15 UTC 2010


Hi Anton,

On Mar 2, 2010, at 8:13 AM, Anton Yuzhaninov wrote:

> On Mon, 1 Mar 2010 15:33:41 +0000 (UTC), Anton Yuzhaninov wrote:
> AY> mdp can't add proxy arp record. From mpd logs:
> AY> Mar  1 15:10:34 x0001 mpd: [B-1] IFACE: Add address 10.25.1.240/32->10.25.1.241 to ng0
> AY> Mar  1 15:10:34 x0001 mpd: [B-1] exec: /usr/sbin/arp -S 10.25.1.241 0:15:17:35:1c:22 pub
> AY> Mar  1 15:10:34 x0001 mpd: [B-1] system: command "/usr/sbin/arp" returned 256

> This problem can be repeated without mpd:
> 
> # ifconfig vlan408
> vlan408: flags=8844<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>        options=3<RXCSUM,TXCSUM>
>        ether 00:04:23:ba:2a:7a
>        inet 10.25.1.244 netmask 0xffffff00 broadcast 10.25.1.255
> ...
> # kldload ng_iface
> # ngctl mkpeer . iface foobar inet
> # ifconfig ng0 192.168.100.100/32 10.25.1.245
> # ifconfig ng0
> ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
>        inet 192.168.100.100 --> 10.25.1.245 netmask 0xffffffff
> # arp -s 10.25.1.245 00:04:23:ba:2a:7a pub
> cannot intuit interface index and type for 10.25.1.245

But what about the 192.168.100.100 ? You are using IPs from this network somewhere else ?


> This commands work fine on RELENG_7, but don't work on RELENG_8 or
> CURRENT, and it seems to be regression.
> 
> -- 
> WBR,
> Anton Yuzhaninov


#	ifconfig vlan100 create
#	ifconfig vlan100 vlan 100 vlandev rl0
#	ifconfig vlan100 192.168.10.1/24
#	ifconfig vlan100
vlan100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 00:08:54:0e:55:77
	inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
	vlan: 100 parent interface: rl0
#	kldload ng_iface
#	ngctl mkpeer . iface foobar inet
#	ifconfig ng0 1.2.3.4/32 192.168.10.2
#	ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
	inet 1.2.3.4 --> 192.168.10.2 netmask 0xffffffff 
#	arp -S 192.168.10.2 1:2:3:4:5:6 pub
delete: cannot locate 192.168.10.2
cannot intuit interface index and type for 192.168.10.2


Then i just replace the bogus IP to some other valid IP (using the IP from vlan100):

#	ifconfig ng0 192.168.10.1/32 192.168.10.2
#	ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
	inet 192.168.10.1 --> 192.168.10.2 netmask 0xffffffff 
#	arp -S 192.168.10.2 1:2:3:4:5:6 pub; echo $?
arp: writing to routing socket: Invalid argument
0
#	arp -an | grep 192.168.10.2
? (192.168.10.2) at 01:02:03:04:05:06 on vlan100 permanent published [vlan]


Do you really have something using that IP (192.168.100.100) ?

Your log from mpd is using the correct IP though. I still can't find where arp(8) is failing.


Luiz


More information about the freebsd-net mailing list