[Xorp-users] Re: help establishing OSPF adjacencies

Atanu Ghosh atanu@ICSI.Berkeley.EDU
Mon, 17 Oct 2005 17:22:21 -0700


Hi,

Responses inline.

    Nick> On Mon, Oct 17, 2005 at 02:11:25PM -0700, Atanu Ghosh wrote:
    >> Hi,
    >> 
    >> The messages of the form '[ 4251 +430 xrl_io.cc ...' are
    >> debugging output from OSPF. One of the things that they show are
    >> packets being sent and received by OSPF.
    >> 
    >> OSPF uses multicast on broadcast media to distribute LSAs (with a
    >> TTL of 1), so this behaviour is correct.

    Nick> OK.  Thanks for the clarification.

    >> The TRACE messages are typically at the top of methods so they
    >> show the state on entry to the method. It is therefore correct
    >> that when a InterFaceUp event occurs that the state of the
    >> interface was down.
    >> 
    >> Could you try disabling Click and see if an adjacency is still
    >> not formed.

    Nick> Yes, I think I did actually try that.  I removed it from the
    Nick> XORP configuration, at least.  What should I configure in the
    Nick> FEA instead?  Do I need to configure multicast?  Also, when
    Nick> you say "broadcast media", what do you mean?  I'd think that
    Nick> would mean the broadcast address of the subnet, 128.31.1.255.
    Nick> What's this 224... multicast address, and do I need to
    Nick> configure something in XORP to make certain it's reachable?

OSPF supports a number of different network types one of them is
Broadcast the definition from the RFC is below. The XORP configuration
defaults to broadcast (point-2-point and point-to-multipoint are also
supported). You shouldn't need to configure anything in order to support
the sending of the multicast packets. I have included a complete config
that I am using below.

---------------------------------------- RFC 2328
	Broadcast networks
	    Networks supporting many (more than two) attached routers,
	    together with the capability to address a single physical
	    message to all of the attached routers (broadcast).
	    Neighboring routers are discovered dynamically on these nets
	    using OSPF's Hello Protocol.  The Hello Protocol itself
	    takes advantage of the broadcast capability.  The OSPF
	    protocol makes further use of multicast capabilities, if
	    they exist.  Each pair of routers on a broadcast network is
	    assumed to be able to communicate directly. An ethernet is
	    an example of a broadcast network.
----------------------------------------

----------------------------------------
interfaces {
    interface en1 {
	vif en1 {
	    address 10.0.1.6 {
		prefix-length: 16
	    }
	}
    }
}

protocols {
    ospf4 {
	router-id: 10.0.1.6

	area 0.0.0.0 {
	    interface en1 {
		vif en1 {
		    address 10.0.1.6 {
		    }
		}
	    }
	}
    }
}
----------------------------------------

    >> In order for an adjacency to be formed routers have to see each
    >> others hello packets. A hello packet contains a hello interval, a
    >> router dead interval and a list of other routers that have been
    >> seen on this interface. The hello interval and router dead
    >> interval have to match for an adjacency attempt to be made. As an
    >> optimisation on broadcast networks rather than forming an
    >> adjacency with every other router on the subnet a designated
    >> router and backup designated router are elected.  The DR and BDR
    >> routers form adjacencies with all the routers and the routers in
    >> the other set form only two adjacencies.
    >> 
    >> Two routers with the default configuration should try and form an
    >> adjacency. You should see TRACE messages of this form:
    >> 
    >> [ . TRACE .] Event(HelloReceived) I.(fxp0/fxp0) N.(128.31.1.14)
    >> State(Full) [ . TRACE .] Event(2-WayReceived) I.(fxp0/fxp0)
    >> N.(128.31.1.14) State(Full)
    >> 
    >> I have replaced some of the output with '.'s.
    >> 
    >> If you are not seeing Event(HelloReceived) then they are not
    >> seeing each others hello messages. Note the state is Full in this
    >> example.

    Nick> I definitely don't see these.

Then the routers are not seeing each others packets.

    >> After I saw you original message I went back and checked that
    >> adjancencies are still being formed and they are.
    >> 
    >> I found one thing a little puzzling the checksum for both routers
    >> for different LSAs is the same, is this the actual output?

    Nick> No, I had a copy/paste error.  The checksums are different.

Good - thats what I guessed:-).

     Atanu.