ns3 how to change ospf Hello and SPF delay timer with DCE and quagga

115 views
Skip to first unread message

Jiarun

unread,
Oct 8, 2019, 3:37:50 PM10/8/19
to ns-3-users
Hello,

I tried to simulate the effect that hello and SPF delay timers have on the OSPF convergence time, but I didn't find any function in DCE and quagga by which I can change the timers. From what I found so far, seems like quagga can only enable OSPF in a simulated router and declare its network address, for example, quagga.EnableOspf();. Is there any way that I can set the OSPF timers in my simulation?

Thank you so much!

Trish Deutsch

unread,
Oct 22, 2019, 11:12:50 AM10/22/19
to ns-3-users
another dce-quagga user!

Yes, you can set the timer (and other config values) that OSPF uses. Inside the quagga-helper.cc, there is a function that builds the OSPF config file.
You can add code in that function to write addition lines to the config file that OSPF will use when it runs.
If you want to change the value from the scenario when you run a simulation (instead of having to change it in the code and rebuild), then simply modify the "EnableOspf" function to pass values that are of interest to you.




Jiarun

unread,
Oct 22, 2019, 12:02:43 PM10/22/19
to ns-3-users
I found this file and successfully changed the default values. Thank you!

在 2019年10月22日星期二 UTC-4上午11:12:50,Trish Deutsch写道:

Spencer Neuschmid

unread,
Feb 4, 2020, 11:27:11 AM2/4/20
to ns-3-users
Hi,

I recently downloaded Quagga so that I could do similar analysis to OSPF. I was wondering how you went about finding convergence times using Quagga OSPF. There is very minimal documentation for using Quagga in ns3 and the examples are very minimal in the dce quagga directory. My next question is to what extent is quagga integrated in ns3? I noticed the examples don't use tracing, csma modules, and many other features that you would be able to find in ns3 RIP examples. I would also like to track LSA messages being sent on the way to convergence and also install simple ping applications as well.

Thank you for any help you can give.
Spencer

Tom Henderson

unread,
Feb 4, 2020, 12:25:42 PM2/4/20
to ns-3-...@googlegroups.com
On 2/4/20 8:27 AM, 'Spencer Neuschmid' via ns-3-users wrote:
> Hi,
>
> I recently downloaded Quagga so that I could do similar analysis to
> OSPF. I was wondering how you went about finding convergence times
> using Quagga OSPF. There is very minimal documentation for using
> Quagga in ns3 and the examples are very minimal in the dce quagga
> directory. My next question is to what extent is quagga integrated in
> ns3? I noticed the examples don't use tracing, csma modules, and many
> other features that you would be able to find in ns3 RIP examples. I
> would also like to track LSA messages being sent on the way to
> convergence and also install simple ping applications as well.
>
> Thank you for any help you can give.
> Spencer

Spencer,

As you discovered, there are not many helpers available for managing
Quagga within ns-3 DCE.  The existing examples are more like a
proof-of-concept.

DCE is designed to try to avoid intrusive markup of the application
code, for inserting tracing statements, etc.  However, this is less
useful to simulation users, who could use some tracing.  Quagga does
have a good logging framework.  One brute force way to handle Quagga
traces would be to configure logging in quagga and then post-process,
using separate scripts, the log files that land up in the files-*
directories.  However, I'm sure a more elegant hooking of this log
output could be devised.

We are applying to Google Summer of Code and, if accepted, one project
that I would be interested in mentoring would be a project devoted to
improving the integration and usability of Quagga with ns-3.  Interested
students, please contact me regarding this.

- Tom

Spencer Neuschmid

unread,
Feb 4, 2020, 1:19:07 PM2/4/20
to ns-3-users
Thank you Tom!

I will look into using the logging functions. Are they used in the same way as regular ns3 code? For example, the simple quagga ospf example makes use of the point to point helper, so would I be able to find logging information from this ns3 module? Or is the logging functionality in the quagga code itself (I wasn't able to quickly find it).

Also, thank you for being so active and answering so many community questions. Myself and I know others that really appreciate that!
Reply all
Reply to author
Forward
0 new messages