Re: bug in Release( entry *VE ) RH 7.3

"Theo E. Schlossnagle" <[email protected]> Mon, 09 Jun 2003 15:37:07 -0400
Newsgroups gmane.comp.apache.mod-wackamole.general
Organization Center for Networking and Distributed Systems
Message-ID <[email protected]>
Ezra Nugroho wrote:
> Strange...
> 
> The interface handling works as expected when I tried ife.
> So, it's looking like the problem is, as I thought earlier, in 
> Release( entry *VE )  function.
> 
> My C programing skill is really rustic, so, ehm.., I might need some
> help debuging it.
>  Let's see:
> 
> static  void    Release( entry *VE )
> {
>   int ic, n=0;
>   struct interface idown, *nif;
> 
>   for(nif=&VE->pseudo_if; n<MAX_DEP_IF; nif = &(VE->extra_ifs[n++])) {
>         if(nif->ipaddr.s_addr == 0) break;


It is supposed to drop all the interfaces in the VE.  VE != VIP.  VE is a set 
of virtual IP addresses.  You should have two VEs, each with on VIP specified.

You should only have one VIP in each of your VEs using your configuration.

wackamole is designed to work on routers too:

Prefer None
VirtualInterfaces {
         { fxp2:10.77.52.1/32 fxp1:192.168.52.1/32 fxp0:192.168.0.1/32 }
}

The above conf shows a sine VE with one psuedo_if and two extra_ifs.  If the 
VE drops, it need to drop all three of those IPs and if the VE is "brought up" 
it needs to bring all three IPs up.  (note the extra set of braces).

-- 
Theo Schlossnagle
Principal Consultant
OmniTI Computer Consulting, Inc. -- http://www.omniti.com/
Phone:  +1 410 872 4910 x201     Fax:  +1 410 872 4911
1024D/82844984/95FD 30F1 489E 4613 F22E  491A 7E88 364C 8284 4984
2047R/33131B65/71 F7 95 64 49 76 5D BA  3D 90 B9 9F BE 27 24 E7