[Xorp-users] Re: help establishing OSPF adjacencies

Nick Feamster feamster@lcs.mit.edu
Fri, 28 Oct 2005 23:32:05 -0400


Atanu,

Finally got around to testing the patches from CVS tonight.  Looks good;
I'm no longer getting the crash in OSPF.  I don't quite see the routing
table as below yes, but I'll mess with the configuration a little bit
more...might be a config problem on my end.  Essentially, I'm seeing p3
send:

[ 5326   +92 xrl_io.cc send ] send(interface = eth0, vif = eth0, src =
128.31.1.13, dst = 128.31.1.14, payload_size = 44

But p4 never receives...

-Nick

On Fri, Oct 21, 2005 at 02:53:59AM -0700, Atanu Ghosh wrote:
> >>>>> "Nick" == Nick Feamster <feamster@lcs.mit.edu> writes:
> 
>     Nick> On Wed, Oct 19, 2005 at 03:27:03PM -0700, Atanu Ghosh wrote:
>     >> of the routers neighbours are the designated router or backup
>     >> designated router. This method should only be called if the the
>     >> link type is Broadcast or NBMA, as these are the only link types
>     >> that perform DR election. I assume that the link-type is set to
>     >> point-to-multipoint (p2m), in when case the assert is signalling
>     >> a programming error. The OSPF process will have exited. A stack
>     >> backtrace might yield some clues.
> 
>     Nick> Yes, the link-type is p2m in our case, so perhaps this method
>     Nick> should not be called?  It appears that the OSPF process dies
>     Nick> completely as a result.  Sure, I will send along a backtrace.
> 
> This problem is now fixed in CVS.
> 
>     >> If the problem is reproducible with the latest code from CVS then
>     >> the configuration files and some information about the topology
>     >> would be useful.
> 
>     Nick> Simple topology:
> 
>     Nick> A <-> B <-> C, where both links are p2m links.  I've attached
>     Nick> the configuration files.
> 
> I'v included a cut down configuration files that worked for me. I had to
> modify the prefix length from 32 to 24 on the first router. Also you
> shouldn't be setting discard to true on interfaces that you want to
> route traffic through.
> 
>     >> If an attempt was made to add a route to the RIB and it failed
>     >> you should error messages in the log.
> 
>     Nick> How do I ensure that routes are in the RIB, then?  Here's what
>     Nick> I see in the log.
> 
> Use the show route command:
> Xorp> show route table ipv4 unicast ospf 
> Network 128.31.1.15/32
>     Nexthop := 128.31.1.14
>     Metric :=    10    Protocol := ospf    Interface := eth0    Vif := eth0
> 
> To see the final table:
> Xorp> show route table ipv4 unicast final 
> Network 128.31.1.0/24
>     Nexthop := 128.31.1.13
>     Metric :=     0    Protocol := connected Interface := eth0    Vif := eth0
> Network 128.31.1.15/32
>     Nexthop := 128.31.1.14
>     Metric :=    10    Protocol := ospf    Interface := eth0    Vif := eth0
> 
>     Atanu.
> 

Content-Description: p3
> 	interfaces {
> 	    interface eth0 {
> 		vif eth0 {
> 		    address 128.31.1.13 {
> 			prefix-length: 24
> 		    }
> 		}
> 	    }
> 	}
> 	protocols {
> 	   ospf4 {
> 	       router-id: 128.31.1.13
> 	
> 	       area 0.0.0.0 {
> 		   interface eth0 {
> 	               link-type: "p2m"
> 		       vif eth0 {
> 			   address 128.31.1.13 {
> 				interface-cost: 5
> 				neighbour 128.31.1.14 {
> 				   router-id: 128.31.1.14
> 				}
> 			   }
> 		       }
> 		   }
> 	       }
> 	   }
>        }
>     }

Content-Description: p4
> 	interfaces {
> 	    interface eth0 {
> 		vif eth0 {
> 		    address 128.31.1.14 {
> 			prefix-length: 24
> 		    }
> 		}
> 	    }
> 	}
> 	protocols {
> 	   ospf4 {
> 	       router-id: 128.31.1.14
> 	
> 	       area 0.0.0.0 {
> 		   interface eth0 {
> 	        	   link-type: "p2m"
> 		       vif eth0 {
> 			   address 128.31.1.14 {
> 				interface-cost: 5
> 				neighbour 128.31.1.13 {
> 				   router-id: 128.31.1.13
> 				}
> 				neighbour 128.31.1.15 {
> 				   router-id: 128.31.1.15
> 				}
> 			   }
> 		       }
> 		   }
> 	       }
> 	   }
>        }
>     }

Content-Description: p5
> 	interfaces {
> 	    interface eth0 {
> 		vif eth0 {
> 		    address 128.31.1.15 {
> 			prefix-length: 24
> 		    }
> 		}
> 	    }
> 	}
> 	protocols {
> 	   ospf4 {
> 	       router-id: 128.31.1.15
> 	
> 	       area 0.0.0.0 {
> 		   interface eth0 {
> 	        	   link-type: "p2m"
> 		       vif eth0 {
> 			   address 128.31.1.15 {
> 				interface-cost: 5
> 				neighbour 128.31.1.13 {
> 				   router-id: 128.31.1.13
> 				}
> 				neighbour 128.31.1.14 {
> 				   router-id: 128.31.1.14
> 				}
> 			   }
> 		       }
> 		   }
> 	       }
> 	   }
>        }
>     }