Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm looking at a configuration for an Enterasys layer 3 switch. I'm trying to diagnose why traffic is going a particular way. One of the route commands has the keyword "recursive" in it. The command exactly is:

What does the keyword "recursive" imply?

ip route 192.168.0.0/24 192.168.0.2 recursive 1
share|improve this question
1  
Can you link us to whatever documentation you've been using to do your research? I'm not familiar with Enterasys switches. –  gparent Nov 14 '12 at 18:55
    
I've been googling. The only thing relevant I've found to recursive in relation to ip route was on Cisco's web-site. I'm assuming it is similar but I was hoping someone would see this that far better knowledge of Enterasys –  Mr. Lost IT Guy Nov 14 '12 at 19:16
1  
Wouldn't the product's documentation be helpful in that regard? I tried accessing it on their website but it's behind paywall, perhaps you have a support contract with them or at least access to the device's manual? –  gparent Nov 14 '12 at 19:27

1 Answer 1

I am not familiar at all with Enterasys devices but I got a good guess as to what it might mean. Given an example with a Cisco router.

ip route 1.1.1.0 255.255.255.0 2.2.2.2
ip route 2.2.2.0 255.255.255.0 3.3.3.3
ip route 3.3.3.0 255.255.255.0 4.4.4.4
!
interface ethernet 0
 ip address 4.4.4.1 255.255.255.0
!

A packet arrives at this router destined to 1.1.1.5. The router does a route look up and sees that it needs to send this packet to 2.2.2.2. Now it does a route lookup to see how to get to 2.2.2.2 and sees that it needs to go to 3.3.3.3. It does another route table lookup and sees that to get to 3.3.3.3 it needs to go to 4.4.4.4. It looks into its route table one last time and sees that 4.4.4.4 is directly accessible out its eth0 interface, so it builds an Ethernet frame and sends it over to 4.4.4.4.... who hopefully doesn't have to recurse through its routing table quite so often to find where it needs to send the packet.

Looking at the above you might say why not just point all of those static routes to 4.4.4.4 in the first place... I would ask the exact same thing.

One reason why you might want to do this, albeit not as exaggerated as the above, is for some traffic engineering. Suppose you only want a route to be valid if a dynamically learned route is in your route table. So what you could do is write a static route and point it to a next hop thats only reachable if your dynamic routing protocol knows about it and has a route to it... Remember if the next hop is not reachable the static route will not be placed into the routing table.

So obviously in the above example a lot of CPU cycles is wasted and if there was a lot of packets, and no route caching, then your router would explode. The guys at Enterasys must have recognized that having a route recurse to another route is useful but also set a limit that is user configurable so that you didn't blow up their device...

That was a lot of typing for what hopefully is the right answer for your Enterasys device. You could test it by adding some static routes with the recursion set low and see how many static routes will it recurse through before it takes them out of the route table.

share|improve this answer
    
I will do some testing either today or on Monday and let you know. Thank you for your input! –  Mr. Lost IT Guy Nov 16 '12 at 18:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.