[Xorp-hackers] OSPF stuck in Exchange state.

Ben Greear greearb at candelatech.com
Mon Oct 22 19:44:16 PDT 2007


Atanu Ghosh wrote:
>>>>>> "Ben" == Ben Greear <greearb at candelatech.com> writes:
> 
>     Ben> Atanu Ghosh wrote:
>     >> Hi,
>     >> If you think that the retransmission code has failed then in the
>     >> method
>     >> "doit()"
>     >> bool doit() {
>     >> debug_msg("retransmission: %s\n", str().c_str());
>     >> return  _rcb->dispatch();
>     >> }
>     >> Change the debug_msg to "fprintf(stderr," while an adjacency is in
>     >> the
>     >> state Exchange the master side should be retransmitting every second.
> 
>     Ben> I found the ::retransmitter() code in peer.cc, and am compiling logging into
>     Ben> it now.  Is this part of the code chain that should be resending the data-description
>     Ben> packet?
> 
> No - I think this code path is used later after the database
> descriptions have been exchanged.
> 
> Look at "start_sending_data_description_packets()" at the end you will
> see "start_rxmt_timer()". Please note that the slave side of the
> transaction does *not* retransmit.
> 
> By the way the retransmission is not every second, it's every five
> seconds and is taken from the configuration variable
> "retransmit-interval".

I think this snippet shows the problem.  We are disabling the old timer and starting
a new timer.

[ 2007/10/22 19:38:04 TRACE xorp_ospfv2 OSPF ] Event(NegotiationDone) Interface(12.16.12/12.16.12) Neighbour(99.1.1.9) State(ExStart)
[ 2007/10/22 19:38:04 TRACE xorp_ospfv2 OSPF ] stop_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  NegotiationDone (master)
[ 2007/10/22 19:38:04 TRACE xorp_ospfv2 OSPF ] start_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  send_data_description from NegotiationDone
[ 2007/10/22 19:38:04 TRACE xorp_ospfv2 OSPF ] send_data_description_packet, Interface(12.16.12/12.16.12) Neighbour(99.1.1.9) State(Exchange)
[ 2007/10/22 19:38:05 TRACE xorp_ospfv2 OSPF ] stop_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  push_lsas
[ 2007/10/22 19:38:05 TRACE xorp_ospfv2 OSPF ] start_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  push_lsas
[ 2007/10/22 19:38:05 TRACE xorp_ospfv2 OSPF ] stop_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  push_lsas
[ 2007/10/22 19:38:05 TRACE xorp_ospfv2 OSPF ] start_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  push_lsas

even though we are not out of the Exchange state
...
[ 2007/10/22 19:38:06 TRACE xorp_ospfv2 OSPF ] start_rxmt_timer: 0x838ab08 12.16.12/12.16.12 Neighbour: 99.1.1.9  push_lsas
[ 2007/10/22 19:38:06 TRACE xorp_ospfv2 OSPF ] Event(LoadingDone) Interface(12.16.12/12.16.12) Neighbour(99.1.1.9) State(Exchange)



> 
> 	 Atanu.


-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com



More information about the Xorp-hackers mailing list