Monday, November 19, 2007

1st pass finished - IE's sample lab finished

Yesterday i finished the 1st step of my CCIE preparation!!!!

I have read (once) all chapters from the lab blueprint and during the last 4 days i was trying to run the sample lab provided at IE's site.

My system is a Core2Duo E6550 with 2 GB ram running WindowsXP & Ubuntu 7.04 (through wubi). These are the conclusions i came into after finishing the sample lab on Ubuntu (WindowsXP was too memory hungry):

1) 2 GB ram in Linux are more than enough to run 14 routers with full configuration ("ghostios" option used).

2) You have to change the idlepc value for each router after major reconfigurations, in order to keep the cpu load as low as possible (i used htop for monitoring it).

Regarding the 2nd one, this is what i did:

  1. Configure all routers/switches without any idlepc values.
  2. Start the switches one by one, finding a idlepc value that keeps the cpu load around 0-1%.
  3. Save the idlepc value to the router portion of the net file ("idlepc save R1").
  4. Start all the switches (you must now have idlepc values for all of them) and begin configuring L2.
  5. As soon as cpu load goes above 5%, stop one switch at a time, in order to find which switch causes the high cpu load due to the new config (you have to save the configuration very frequently and don't use the confg parameter in the net file).
  6. Stop dynagen, go into the net file and comment the idlepc value (which was stored before) for this particular switch.
  7. Start dynagen again and try to find the new idlepc value for this switch.
  8. When you find it, save it like in step 3.
  9. Repeat steps 2 though 8 in order to have all switches with full L2 configuration and cpu load around 2-3%. The lower the better.
  10. Then start the routers, repeating the same steps like in the switches.
  11. If later you change a switch in order to add L3 functionality, then you have to repeat the whole "find the idlepc value" process again for this switch.
  12. Finally start the BB routers and repeat the same process. These should be easier, because you don't have to change many things there.

I found out that most of the times, idlepc counts around 50 are the good ones, despite what dynagen says. Try changing the idlepc value (choosing 1 out of proposed 10) until you get 5%-10% cpu load for all currently running routers/switches.

I had to repeat the "find the idlepc value" steps 3-4 times for each router/switch, until i finished the core part of the lab (just before IP Multicast). At that time, cpu load was around 7-10%. After that, there was a minor increase for the extra configuration till the end, but that didn't have any impact on the L2/L3 functionality. If i didn't change the idlepc values, then when the cpu load was going above 70%, i was having L2/L3 issues with routing protocols reseting, interfaces going down, etc.

When i finished the lab, i noticed that having all routers with full configuration caused a cpu load around 20-30%, sometimes peaking to 50% (probably due to the BGP scanner and/or the "wr mem" command). I guess, that could have been lower, if i was experimenting with the idlepc values while being at the final config.

I had many cpu issues when i was using the access server (TermServ) to access the routers. Maybe console access through it or traffic passing through the tap0/br0 interface in linux, is causing increased cpu load. I decided to use the -default- tabbed xterm from Gnome (it was a little annoying closing/opening windows, but it worked fine).

I met a lot of issues with 3640s as switches running 12.3(14)T7. I changed them to 3725s running 12.4(17a) and everything worked fine till the end.

PS: There were some times that, while starting dynamips, the whole system became stuck (cpu load 100%) and i had to reboot it. I still don't know what was causing this (i haven't checked if dynamips has reported something on its log). If dynagen was successfully started, then everything was working fine afterwards.

Note to dynagen/dynamips authors: A feature to find/change the idlepc value, regardless if it's already known, would be a welcome addition. Then i wouldn't have to stop/start dynagen after each change in the net file (while trying to find the best idlepc value).

Note to IE's sample lab authors: There is an issue (probably in the initial config) with a BB router not having eigrp authentication configured, when starting. I had to manually change it.

For those who are wondering how i did in the sample lab... i failed with 70%. But i'm quite satisfied, because all the tasks i missed where due to me not understanding the exact meaning of a subtask, or providing wrong values (bits vs bytes) due to oversight. And on Friday i have my first mock lab...50% is the goal.


  1. hi, how did you install Dynagen on ubuntu?


    Rehman Contractor

  2. I've created a new post describing the installation of latest Ubuntu (8.04 beta) and Dynamips/Dynagen.

    Maybe you'll find it useful.

  3. Hi Tassos,

    First of all, many thanks for that blog, it is really really usefull.

    I need a little help regarding idlepc configuration. I already went through 2 labs but could not figure out how to reduce CPU usage when the core configuration is done. I have nearly the same hardware as you but with a core2Duo E4550 and use same .net topology : 3745 for SW and 3640 for Routers. I tried to follow your guidelines but it did not work :
    - Stop all routers when core part of the lab is over (before that point, my connectivity is fine so I did not do it before)
    - rewrite .net file with no idlepc value and then launch it
    - start R1 => get idlepc value and then write it to the .net file.
    - stop R1 and repeat the same process with all routers and switches.
    - At the end I get an idlepc value for all equipments.
    - Launching the new .net file will give me a 100% CPU just as before...

    Thanks for any help..Maybe I am confused on the process ? Or my hardware is too limited ?


  4. Hi Tassos,

    Ive searched the internet for the two ios that you mentioned

    3640 (routers) : c3640-ik9o3s-mz.124-17a.bin
    3725 (switches) : c3725-adventerprisek9-mz.124-17a.bin

    Can you give me the link where i can download these two ios.please.

    Thanks for inspiring us especiall who dont have the power to buy lab equipments.

  5. i am planning to buy a computer to run my Labs (dynamips) on it. i need your comment on the below specs. intel xeon dual process 3.6 with 8 gb of ram OR intel core 2 duo single processor with 8 gb of ram.
    PLease help. i dont want to run into hardware limitation issues running my labs.

  6. As you can see my specs were lower than yours and i had no major issues. I believe that whatever you choose, you'll be fine.

  7. Can someone tell me that hot start to do study of CCIE Security LAB and Written exam while doing job.

    which books should I refer for CCIE Security.

    Which is the best CCIE Track for best feature and job stability in the current market.

    Khandesha Kothale
    Sr. Network Engineer.

  8. Hello Tassos, I was facing some trouble installing the Dynagen in Ubuntu. Thanks to your post that I found the solution to my problem. Keep sharing the useful information.

    Used Laboratory Equipment For Sale


Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Greece License.