[quagga-dev 267] ripd issue. please comment

Venkata Pingali pingali at isi.edu
Mon Sep 29 22:11:57 BST 2003


Hi,

I had sent this message last month. Can somebody please look at this
message and give an opinion as to whether the identification of the
problem and the fix is correct?

thanks
Venkata Pingali
USC/ISI

-------------------------

Hello,

I am trying to enable dynamic routing on a simple network of tunnels on
freebsd.

    A o--------o B
      |        |
      |        |
    C o--------o D


All links are ipip tunnels (i.e., gifs). I would like all traffic to
remain within the tunnels and not leak routes into or out of the network.
I installed net/zebra-pj port and created configuration files given below.
The ripd seems to not announce any routes at all.

When I debugged it a little more, I found that rip_interface_address_add()
used to call rip_enable_apply(ifp) in 0.93b version of zebra but this
latter function does not get called in 0.94 version of zebra-pj. This
function is crucial to set the "running" bit on the internal data
structure corresponding to the interfaces. ripd daemon seems to be
waiting for the interface "UP" message from the zebra on interfaces
which it never gets.

What is the issue here?

thanks.
Venkata Pingali
---------------------------------------------------------------------------

0.94 : rip_interface.c
====
int
rip_interface_address_add (int command, struct zclient *zclient,
                           zebra_size_t length)
{
...
 /* Check if this prefix needs to be redistributed */
      rip_apply_address_add(ifc);
..
}

0.93b: rip_interface.c
=====
int
rip_interface_address_add (int command, struct zclient *zclient,
                           zebra_size_t length)
{
...
      /* Check is this interface is RIP enabled or not.*/
      rip_enable_apply (ifc->ifp);
...
}

zebra.conf on A
===============
debug zebra events
debug zebra kernel
debug zebra packet send detail
debug zebra packet recv detail

interface gif1
  no shutdown
  multicast

interface gif3
  no shutdown
  multicast

log stdout

ripd.conf on A
=======================
debug rip events
debug rip packet
debug rip packet send detail
debug rip packet recv detail
debug rip zebra
!

router rip
 network gif1
 network gif3
 no passive-interface gif1
 no passive-interface gif3
! redistribute static
! redistribute connected
 distribute-list private in gif1
 distribute-list private out gif1
 distribute-list private in gif3
 distribute-list private out gif3
 access-list private permit 10.0.0.0/16
 access-list private deny any
log stdout


ripd output
===========
2003/08/20 14:44:07 RIP: interface add em0 index 1 flags 34883 metric 1
mtu 1500
2003/08/20 14:44:07 RIP: interface add em1 index 3 flags 34883 metric 1
mtu 1500
2003/08/20 14:44:07 RIP: connected address 128.9.xxx.xx/20 is added
2003/08/20 14:44:07 RIP: interface add gif1 index 5 flags 32849 metric 1
mtu 1280
2003/08/20 14:44:07 RIP: connected address 10.0.0.1/30 is added
2003/08/20 14:44:07 RIP: Redistribute new prefix 10.0.0.0/30 on the
interface gif1
2003/08/20 14:44:07 RIP: triggered update!
2003/08/20 14:44:07 RIP: interface add gif3 index 6 flags 32849 metric 1
mtu 1280
2003/08/20 14:44:07 RIP: connected address 10.0.1.1/30 is added
2003/08/20 14:44:07 RIP: Redistribute new prefix 10.0.1.0/30 on the
interface gif3
2003/08/20 14:44:07 RIP: interface add lo0 index 4 flags 32841 metric 1
mtu 16384
2003/08/20 14:44:07 RIP: connected address 127.0.0.1/8 is added
2003/08/20 14:44:07 RIP: interface add xl0 index 2 flags 34883 metric 1
mtu 1500
2003/08/20 14:44:09 RIP: update timer fire!
^C2003/08/20 14:44:15 RIP: Terminating on signal
2003/08/20 14:44:15 RIP: interface em0: passive = 0
2003/08/20 14:44:15 RIP: interface em1: passive = 0
2003/08/20 14:44:15 RIP: interface gif1: passive = 0
2003/08/20 14:44:15 RIP: interface gif3: passive = 0
2003/08/20 14:44:15 RIP: interface lo0: passive = 0
2003/08/20 14:44:15 RIP: interface xl0: passive = 0

------------------------
gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 128.9.xxx.xx --> 128.9.xxx.xx
        inet6 fe80::203:47ff:fe07:e810%gif1 prefixlen 64 scopeid 0x5
        inet 10.0.0.1 --> 10.0.0.2 netmask 0xfffffffc
gif3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 128.9.xxx.xx--> 128.9.xxx.xx
        inet6 fe80::203:47ff:fe07:e810%gif3 prefixlen 64 scopeid 0x6
        inet 10.0.1.1 --> 10.0.1.2 netmask 0xfffffffc



More information about the Quagga-dev mailing list