tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Static interface routes for IP address on different subnet doesn't send an ARP who-has

I tried the route cloning suggestion to see if it would work for the /32, on NetBSD 6.1:

# ifconfig vioif0 inet netmask broadcast
# route add -host -link -cloning -iface vioif0
add host gateway vioif0
# ping
PING ( 48 data bytes
arplookup: unable to enter address for on null (could not allocate llinfo)
arpresolve: can't allocate llinfo on vioif0 for
---- PING Statistics----
1 packets transmitted, 0 packets received, 100.0% packet loss

As for FreeBSD 9.1, here is the output of "route -n monitor" when I add the static interface route for the gateway:

# route -n monitor
got message of size 224 on Thu Aug 22 16:55:41 2013
RTM_ADD: Add Route: len 224, pid: 706, seq 1, errno 0, flags:<UP,HOST,DONE,STATIC>
locks:  inits:
sockaddrs: <DST,GATEWAY> em0:

And an output of "netstat -rn" from the host (please excuse any formatting issues, I am running this under qemu as VNC since I don't have SSH access to the host when I'm doing this):

# netstat -rn
Routing tables


Destination       Gateway            Flags    Refs Use    Netif    Expire         link#3             UH       0 4      lo0     link#2             UHS      0 0      lo0 =>  link#2             U        0 0      em0     52:54:00:40:aa:16  UHS      0 4      em0

.. (Output omitted as it's IPv6)

I can also change the MAC address of the Gateway, and FreeBSD updates it after the ARP timeout period.


On 2013-08-22 9:39 AM, Greg Troxel wrote:
You should look at the actual routes in the kernel on FreeBSD, with
route -n monitor, and understand all the flags and sockaddrs.  Please
also send the result of 'netstat -nr' on FreeBSD.

As David suggests, you may need a /32 cloning route.

Sorry, but you are basically doing something that does not conform to
Internet standards, and that will probably require some code reading.  I
think we'd be inclined to take a change that enables doing this
(assuming it doesn't break other things), and it's quite possible that
kernel code changes will be required.

I would also suggest looking through the history of FreeBSD to see if
they made an explicit change to support this multiple-/32-on-a-wire

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Home | Main Index | Thread Index | Old Index