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