Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jun 2003 09:36:39 -0400
From:      Mike Tancsa <mike@sentex.net>
To:        Vincent Jardin <vjardin@wanadoo.fr>
Cc:        freebsd-net@freebsd.org
Subject:   Re: problems adding interfaces with zebra
Message-ID:  <5.2.0.9.0.20030614092420.07360cc0@192.168.0.12>
In-Reply-To: <200306141247.40278.vjardin@wanadoo.fr>
References:  <5.2.0.9.0.20030613171118.07821488@209.112.4.2> <5.2.0.9.0.20030613171118.07821488@209.112.4.2>

next in thread | previous in thread | raw e-mail | index | archive | help
At 12:47 PM 6/14/2003 +0200, Vincent Jardin wrote:
> > ifconfig: ioctl (SIOCAIFADDR): File exists
> >
> > Because the route is already installed locally as pointing to machine A via
> > interface B1. (.i.e. I have redistribute connected enabled)
> >
> > Short of killing ospfd and zebra how do I get around this ?
>
>su-2.05b# route -n get 12.0.0.0
>    route to: 12.0.0.0
>destination: 12.0.0.0
>        mask: 255.0.0.0
>     gateway: 192.168.0.1
>   interface: fxp0
>       flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
>su-2.05b# route -n delete 12.0.0.0
>delete net 12.0.0.0
>
>su-2.05b# ifconfig fxp0 12.0.0.1 alias
>su-2.05b# route -n get 12.0.0.0
>    route to: 12.0.0.0
>destination: 12.0.0.0
>        mask: 255.0.0.0
>   interface: fxp0
>       flags: <UP,DONE,CLONING>



Thanks, the problem is, if I do a "route delete" by the time I go to set 
the interface, the route is re-added by zebra :-(  So I would have to kill 
(or somehow suspend?) zebra to add the route properly? Any other ways ?




# route get 12.0.0.112/28
    route to: 12.0.0.112
destination: 12.0.0.112
        mask: 255.255.255.240
     gateway: 64.7.143.42
   interface: vlan1
       flags: <UP,GATEWAY,DONE,PROTO1,PRCLONING>
  recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu 
expire
        0         0         0         0         0         0      1500 
   0
# ping 12.0.0.112
PING 12.0.0.112 (12.0.0.112): 56 data bytes
^C
--- 12.0.0.112 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
iolite3# route get 192.168.0.40/29
    route to: 192.168.0.40
destination: 192.168.0.40
        mask: 255.255.255.248
   interface: vlan1
       flags: <UP,DONE,CLONING>
  recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu 
expire
        0         0         0         0         0         0      1500 
-646415
#



In the case of the 12.0.0.112/28 network I guess i need to get the kernel 
and zebra to know that its not
flags: <UP,GATEWAY,DONE,PROTO1,PRCLONING>
but
flags: <UP,DONE,CLONING>

What about some ifconfig hackery ?  Is this not the stop where it dies ?

         if (newaddr && (setaddr || setmask)) {
                 strncpy(afp->af_addreq, name, sizeof ifr.ifr_name);
                 if (ioctl(s, afp->af_aifaddr, afp->af_addreq) < 0)
                         Perror("ioctl (SIOCAIFADDR)");
         }


What if I added a check for a flag/param (e.g. -force)

         if (newaddr && (setaddr || setmask) && !FORCE ) {
                 strncpy(afp->af_addreq, name, sizeof ifr.ifr_name);
                 if (ioctl(s, afp->af_aifaddr, afp->af_addreq) < 0)
                         Perror("ioctl (SIOCAIFADDR)");
         }


         ---Mike
--------------------------------------------------------------------
Mike Tancsa,                          	          tel +1 519 651 3400
Sentex Communications,     			  mike@sentex.net
Providing Internet since 1994                    www.sentex.net
Cambridge, Ontario Canada			  www.sentex.net/mike



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