From nobody  Tue Dec  8 07:00:08 1998
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.8/8.8.8) id HAA02592;
          Tue, 8 Dec 1998 07:00:08 -0800 (PST)
          (envelope-from nobody)
Message-Id: <199812081500.HAA02592@hub.freebsd.org>
Date: Tue, 8 Dec 1998 07:00:08 -0800 (PST)
From: sa@kki.org
To: freebsd-gnats-submit@freebsd.org
Subject: route add -host hostIP -interface localIP doesn't work
X-Send-Pr-Version: www-1.0

>Number:         9012
>Category:       bin
>Synopsis:       route add -host hostIP -interface localIP doesn't work
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    ru
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec  8 07:10:00 PST 1998
>Closed-Date:    Wed Jun 6 10:57:55 PDT 2001
>Last-Modified:  Wed Jun 06 11:11:37 PDT 2001
>Originator:     Sven Anderson
>Release:        2.2.8
>Organization:
University Goettingen
>Environment:
FreeBSD stoffel.cweg.goe.net 2.2.8-RELEASE FreeBSD 2.2.8-RELEASE #0: Thu Dec  3 00:51:44 CET 1998     root@stoffel.cweg.goe.net:/usr/src/sys/compile/STOFFEL  i386

>Description:
a) If you set a route to a locally connected host with
route add -host hostIP -interface localIP
the route is set, but dosn't work. The man-page says it should work.
I guess it is the wrong type of route (UHS) which is set, and it should
be a link#X type of route (UHCS). Either this option combination 
shouldn't be possible or it should work.
b) If you use the -interface option with a devicename, the gateway ist set
to the ether-address of the local device and not of the destination host.
You then have to set the correct ether-address with the arp -s command.

>How-To-Repeat:
a) Type:
route add -host hostIP -interface localIP
where hostIP is the IP of any host in your local network and localIP
is the IP of your network interface. After that the host is not
reachable anymore.
b) Type:
route add -host hostIP -interface devicename
where hostIP is the IP of any host in your local network and devicename
is the name of your ethernet-device. After that the host is not
reachable anymore, until you set the correct ether-address with the
arp -s command.
>Fix:

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: ru 
State-Changed-When: Wed Jun 6 10:57:55 PDT 2001 
State-Changed-Why:  
It works, that's exactly how ARP entries are stored in the routing table. 
This command merely emulates actions of the `arp -s hostIP x:x:x:x:x:x' 
command, i.e., it creates a permanent ARP entry. 

`route add hostIP/32 -interface ether_addr' will create a "published" 
(aka proxy) ARP entry for hostIP. 

This ARP entry can then be immediately announced (this feature is called 
a gratuitous ARP) if supplied the -proto2 modifier, 
"arp who-has hostIP tell hostIP" in tcpdump(1) terminology. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9012 
Responsible-Changed-From-To: freebsd-bugs->ru 
Responsible-Changed-By: ru 
Responsible-Changed-When: Wed Jun 6 11:11:20 PDT 2001 
Responsible-Changed-Why:  
Explanations were mine. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9012 
>Unformatted:
