GSoC 2026: Flent Application API Integration - Introduction & JSON Library Proposal

15 views
Skip to first unread message

KEDAR KISAN

unread,
May 18, 2026, 9:26:09 AM (7 days ago) May 18
to ns-developers

Hi everyone,

My name is Kedar Kisan, and I am a third-year undergraduate student studying Mathematics and Computing at IIT Guwahati. I am thrilled to introduce myself as a GSoC 2026 contributor!

This summer, I will be working under the mentorship of Mohit P. Tahiliani and Tom Henderson. My project focuses on integrating the Flent (Flexible Network Tester) benchmarking framework into the ns-3 mainline. Flent is a Python-based wrapper around  well-known network benchmarking tools (such as netperf and iperf) that is used for internet research (particularly bufferbloat studies), and is the standard tool for testing network latency under load.

The goal of my project is to allow users to generate .flent JSON files from their simulations for bufferbloat analysis, bypassing the need for pcap parsing.

I have set up my project Wiki page here: Link. I will be updating this page weekly with my progress.

JSON Library Proposal & Request for Feedback: One of my immediate milestones is finalizing a lightweight C++ JSON library to handle the file generation. The original draft MR utilized jsoncpp but I am evaluating a switch to nlohmann/json for its modern syntax and single-header design.

I am aware from previous Zulip discussions (specifically regarding the NR module) that exposing nlohmann in public APIs can lead to symbol collisions if users have different versions installed globally. To ensure safety, my proposed architecture is to:

  1. Vendor the library into the ns-3-dev/third-party/ directory.

  2. Encapsulate all #include <nlohmann/json.hpp> directives strictly inside the private .cc source files, hiding them from the public API headers.

I would appreciate any feedback from the community on this approach, or if there is a preference to stick with jsoncpp(or any other alternative).

I look forward to an amazing summer and working with all of you!

Best regards,

Kedar Kisan

Eduardo Almeida

unread,
May 18, 2026, 12:52:33 PM (7 days ago) May 18
to KEDAR KISAN, ns-developers
Hi Kedar,

I agree with your proposal to use nlohmann/json library. I know this library very well and I have used it in many projects, including ns-3 simulations.

I agree with vendoring the library in the "ns-3/third-party/" directory. Including a JSON library directly in ns-3 allows using JSON in more use cases, such as FlowMonitor. It also allows people to use JSON in their ns-3 simulations without having to set it up themselves.

As discussed in the last maintainers meeting, it would be easier to review and integrate your project if you divide your contributions in multiple MRs, each dedicated to a small and specific set of changes. For example, one MR could be focused on adding the nlohmann/json library into ns-3/third-party/. Then, you can progress your work in follow-up MRs.

Please check with your mentors about the best approach to split your work.

Good luck on your GSoC project.

Regards,
Eduardo

--
You received this message because you are subscribed to the Google Groups "ns-developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ns-developer...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ns-developers/e375f05a-8f44-4843-be15-25a4346206e9n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages