direct-code-execution / ns-3-dce

Run real programs in the discrete time simulator ns3
http://www.nsnam.org/projects/direct-code-execution/
75 stars 46 forks source link

Methods added to DCE so that FRR works #134

Closed fvel closed 1 year ago

fvel commented 2 years ago

We have been working on DCE to support FRR. The deamonds tested are zebra, bgpd and ospfd, but we hope others FRR daemons works as wall. These are some functions that we added to DCE for FRR to use.

There are some changes to FRR that can be found in https://gitlab.fing.edu.uy/proyecto-2021, inside the "Scripts" project

tomhenderson commented 2 years ago

Thank you for contributing; FRR would be a great addition to DCE. @teto, any comments?

fvel commented 2 years ago

Sorry for the delayed response. This is the first time that I contribute to a project and I'm not sure how it's usually done.

The FRR module was done as a final student project before graduating as a software engineering. In https://gitlab.fing.edu.uy/proyecto-2021 can be found the whole project.

For FRR to work with DCE, additionally to this additions it is necessary to have the previous PRs fix_dce_vasprintf and fix_dce_internalClosedir. What's more it's necessary to do some minor code modifications to FRR code and to compile it in a particular way. The script https://gitlab.fing.edu.uy/proyecto-2021/scripts/-/blob/master/04-install-frr-SUDO is the one I used for the FRR installation.

In my fork of DCE there are many examples of use of FRR with DCE as well as a frr-helper (based in a quagga-helper of a previous project) class to use it more easily. It can be found in https://github.com/fvel/ns-3-dce/tree/master/myscripts/ns-3-dce-frr.

My case of use was primarily concerned with using BGP in DCE so the daemons zebra and bgpd are the ones that have been more tested. I've also done a very simple test with ospfd. Those are the daemons that I know work correctly, the others I haven't tested.

I'll happily respond any other question or comment about how best to contribute.

tomhenderson commented 1 year ago

pushed in commit a2d4956