Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jun 2005 02:11:09 -0700
From:      "Li, Qing" <qing.li@bluecoat.com>
To:        <freebsd-net@freebsd.org>
Subject:   issue with route
Message-ID:  <48D44BB27BDE3840BDF18E59CB169A5C010AF780@bcs-mail3.internal.cacheflow.com>

next in thread | raw e-mail | index | archive | help
=20
  When I issued the following command by accident today:
=20
       route add default -inet6 fe80:20d:56ff:fe8d:d4b0%fxp0

  The netstat shows the following:

Internet:
Destination        Gateway            Flags    Refs      Use  Netif
Expire
default            fe80:20d:56ff:fe8d:d4b0%fxp0          UGS         0
0   fxp0
10.9.44/24         link#1             U           1        0   fxp0
10.9.44.175        127.0.0.1          UGHS        0        0    lo0
127.0.0.1          link#4             UH          1        4    lo0

  So I went ahead and issued

      route add 10.1.1.1 -inet6 fe80::1%fxp0=20

Internet:
Destination        Gateway            Flags    Refs      Use  Netif
Expire
default            fe80:20d:56ff:fe8d:d4b0%fxp0          UGS         0
0   fxp0
10.1.1.1           fe80::1%fxp0       UGHS        0        0   fxp0
10.9.44/24         link#1             U           1        0   fxp0
10.9.44.175        127.0.0.1          UGHS        0        0    lo0
127.0.0.1          link#4             UH          1        4    lo0


  I verified this behavior on both FreeBSD 5.4 Release and 6.0-CURRENT.

  I think this behavior is probably not intended and should be treated
  as a bug. I did a quick patch in sys/net/route.c
  (it's just as easy in sbin/route.c).

-------------
heavygear# cvs diff route.c
Index: route.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/sys/net/route.c,v retrieving revision 1.108
diff
-r1.108 route.c
746c747,748
<               if ((flags & RTF_GATEWAY) && !gateway)
---
>                 if (flags & RTF_GATEWAY) {
>                     if (!gateway)
747a750,752
>                     if (dst && (dst->sa_family !=3D =
gateway->sa_family))
>                         senderr(EPERM);
>                 }
-------------

  After the patch,

-------------
heavygear# route add 10.1.1.1 -inet6 fe80::1%fxp0
route: writing to routing socket: Operation not permitted
 =20

  Comments ?

  Thanks,

  -- Qing







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48D44BB27BDE3840BDF18E59CB169A5C010AF780>