OSPF & Ring network

Jeremy Evans Jeremy.Evans at pertronic.co.nz
Thu Mar 25 23:17:51 CET 2010


I have a group of devices which are required to have a redundant
communication path in the event of a link failure. Due to legacy & cost
reasons the network uses serial PPP links between devices as follows:

+---+----+---+
|   |eth0|   |
|   +----+   |
|      1     |
+----+  +----+
|ppp0|  |ppp1+-----+
+-+--+--+----+     |
  |                | 
  |                |    +---+----+---+
  |                |    |   |eth0|   |
  |                |    |   +----+   |
  |                |    |      2     |
  |                |    +----+  +----+
  |                +----+ppp0|  |ppp1|
  |                     +----+--+--+-+
  |                                |
  |  +---+----+---+                |
  |  |   |eth0|   |                |
  |  |   +----+   |                |
  |  |      3     |                |
  |  +----+  +----+                |
  +--+ppp1|  |ppp0+----------------+
     +----+--+----+

This shows the simplest case; the loop will be larger in most cases. The
eth0 ports will generally not be used, but we'd like the flexibility to
plug into a random eth0 port to access any point on the loop.

Ignoring the eth0's for the moment, I'm having trouble persuading OSPF
to generate *any* routing/neighbour/topology information for the PPP
links. My config file is this:

protocol kernel {
    learn off;
    persist on;
    scan time 20;
    export all;
}

protocol device {
    scan time 10;
}

protocol direct {
    interface -"eth*";
}

protocol ospf {
    export all;
    import all;
    area 0.0.0.0 {
        interface 10.0.0.0/8 {
            wait 15;
            type nonbroadcast;       # no change if omitted
            strict nonbroadcast on;  # no change if omitted
            cost 100;
            authentication none;
            retransmit 7;
        };
    };
}

All the PPP's are static IP in 10.0.0.0/8 (eg 10.0.1.2 is ppp1 on node
2). I'm seeing Hello packets (sent to 224.0.0.5) on the nodes, but
there's not a lot going on otherwise. I've tried explicitly setting
neighbors (giving the IP addresses of the 2 adjacent PPP ports), but
this has no effect either.

"show route" (on node 3) from birdc gives me this:

10.0.1.2/32        dev ppp0 [direct1 09:47] * (240)
10.0.0.1/32        dev ppp1 [direct1 09:47] * (240)
192.168.1.0/24     dev eth0 [direct1 09:47] * (240)
127.0.0.0/8        dev lo [direct1 09:47] * (240)

which is a start, I think, but there's no corresponding information in
the kernel routing table.

Any obvious pointers for an OSPF newbie?

Jeremy Evans



More information about the Bird-users mailing list