[Ns-developers] GSoC 2017 Project Introduction : Implementing TBF and HHF in ns-3

Surya Seetharaman surya.seetharaman9 at gmail.com
Tue Sep 5 13:19:55 PDT 2017


Hi Everyone,

This has been an amazing summer working with ns3 and here is the winding up
status update of this GSoC project :

Project Status :

TBF code is under review :
https://codereview.appspot.com/326150043/

HHF code is still under development :
https://github.com/tssurya/ns-3-dev-git/commit/9a1f6c71948bf338fc4bb5af9237fee4da8c0f9a

The final summary and report of the project can be found here :
https://www.nsnam.org/wiki/GSOC2017TBFAndHHF#GSoC_Wrap_Up_and_Final_Report

Future Work :

1. Address the comments in the TBF review.
2. Remove the errors arising in HHF.
3. Finish the test suite and documentation for HHF.

I will continue to work on the above issues in future.

------------

Regards,
Surya.

On Fri, Aug 18, 2017 at 3:39 PM, Surya Seetharaman <
surya.seetharaman9 at gmail.com> wrote:

> Here is the Week 11 Update :
>
> 1. Refined the Multistage Filter in HHF.
> 2. Still dealing with some minor implementation issues.
> 3. Wrote a rough user example for HHF.
>
> Code : https://github.com/tssurya/ns-3-dev-git/tree/HHF
>
> Plan for Week 12 :
>
> 1. Discuss with mentor regarding the last stages of HHF.
> 2. Complete the user example, solve the implementation issues in HHF based
> on the comments from mentor.
> 3. Use the user example for a simple testing.
> 4. Prepare the Phase 3 review consisting of HHF code and user example.
> 5. Design the test suite.
>
> Bests,
> Surya.
>
> On Tue, Aug 8, 2017 at 7:16 PM, Surya Seetharaman <
> surya.seetharaman9 at gmail.com> wrote:
>
>> Hi Everyone,
>>
>> Here is the Week 10 Update :
>>
>> Work done in Week 10 :
>>
>> 1. Refined Enqueue/Dequeue functions in HHF.
>> 2. Implemented the Multistage Filter in HHF for packet classification.
>> 3. Currently figuring out some macro definitions in HHF Linux code to
>> port them into ns3. With that will be done with HHF implementation.
>>
>> Work Planned in Week 11 :
>>
>> 1. Wrap up HHF algorithm.
>> 2. Do a stand alone testing of the functionality.
>> 2. Finish a user example for HHF.
>>
>> Note : At the current rate, project is lagging by a week with respect to
>> the initial 12 week GSoC plan. The project might take (need) a 13th Week to
>> finish off the HHF test suite.
>>
>> Best Regards,
>> Surya.
>>
>> On Wed, Aug 2, 2017 at 12:39 AM, Surya Seetharaman <
>> surya.seetharaman9 at gmail.com> wrote:
>>
>>> Hi Everyone,
>>>
>>> Work done in Week 9 :
>>>
>>> 1. Finished the Enqueue/Dequeue operations implementation of HHF.
>>> 2. Refining the existing design of HHF.
>>> 3. Starting with the Multistage Filter in HHF.
>>> 4. Created TBF review issue on Rietveld (based on GitHub TBF commit).
>>>
>>> HHF Code : https://github.com/tssurya/ns-3-dev-git/tree/HHF
>>>
>>> TBF Code for merge review : https://codereview.appspot.com/326150043/
>>>
>>> Work Planned in Week 10 :
>>>
>>> 1. Finish Multistage Filter and with that complete HHF.
>>> 2. Design User example and Testing for HHF.
>>>
>>> Bests,
>>> Surya.
>>>
>>> On Wed, Jul 26, 2017 at 4:18 PM, Surya Seetharaman <
>>> surya.seetharaman9 at gmail.com> wrote:
>>>
>>>> Hi All,
>>>>
>>>> Work done in Week 8 :
>>>>
>>>> 1. Worked on the Enqueue and Dequeue functions in HHF Implementation :
>>>>     a. Figured out the issues regarding the wdrr_bucket structure and
>>>> other data structures used in Linux code.
>>>>     b. Report on the detailed working of enqueue and dequeue according
>>>> to Linux code is given in [1].
>>>>     c. Working on finishing this part of implementation in ns3.
>>>>
>>>> Work Planned in Week 9 :
>>>>
>>>> 1. Will shift the TBF review patch from GitHub to Rietveld and publish
>>>> it on the mailing list by the end of this week.
>>>> 2. Also publish the HHF code done so far as a Github commit for review
>>>> on the mailing list by the end of this week.
>>>> 3. Move from Enqueue/Dequeue to Multistage Filter in HHF.
>>>>
>>>> [1] https://www.nsnam.org/wiki/GSOC2017TBFAndHHF#Week_8_.5BJ
>>>> ul_18th_-_Jul_25th.5D_:_HHF_user_example
>>>>
>>>> Bests,
>>>> Surya.
>>>>
>>>> On Thu, Jul 20, 2017 at 8:54 AM, Surya Seetharaman <
>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> Work done in Week 7 :
>>>>>
>>>>> 1. Worked on HHF Implementation :
>>>>>     a. Completed a skeleton of hhf.h and .cc files based on
>>>>> http://elixir.free-electrons.com/linux/latest/source/net/sch
>>>>> ed/sch_hhf.c.
>>>>>     b. Implementing the Enqueue and Dequeue functions of HHF.
>>>>>     b. Working on the design of the Multistage filter for
>>>>> classification of packets.
>>>>>
>>>>> Currently stuck on a few issues from the implementation perspective :
>>>>> specially on the usage of wdrr_bucket
>>>>> <http://elixir.free-electrons.com/linux/latest/source/net/sched/sch_hhf.c#L119>
>>>>> structure in some places.
>>>>>
>>>>> Work planned in Week 8 :
>>>>>
>>>>> 1. Continue working on HHF:
>>>>>     a. Finish the Multistage filter.
>>>>>     b. Get a working model of HHF.
>>>>> 2. Prepare and submit code (HHF queue disc alone, user example and
>>>>> test suite will be done during Phase 3) for Phase 2 review.
>>>>>
>>>>> Best Regards,
>>>>> Surya.
>>>>>
>>>>> On Wed, Jul 12, 2017 at 10:15 PM, Surya Seetharaman <
>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> Here is the week 6 update :
>>>>>>
>>>>>> 1. Finished verifying the TBF test suite and refined the TBF code :
>>>>>> https://github.com/tssurya/ns-3-dev-git/commit/81ab3093322
>>>>>> a21c2bf8be50e6bccd561da2da346
>>>>>> 2. Went through the HHF linux code
>>>>>> 3. Currently trying to understand the different data structures and
>>>>>> components that would be needed in ns3 for HHF and doing a skeleton HHF
>>>>>> code.
>>>>>>
>>>>>> Work Planned in Week 7 :  Keep working on the HHF implementation.
>>>>>>
>>>>>> Best Regards,
>>>>>> Surya.
>>>>>>
>>>>>> On Wed, Jul 5, 2017 at 5:50 PM, Surya Seetharaman <
>>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>>
>>>>>>> Hi Everyone,
>>>>>>>
>>>>>>> Here is the Week5 update :
>>>>>>>
>>>>>>> Work Done in Week 5:
>>>>>>>
>>>>>>> 1. Finished the TBF test suite and tested the TBF model.
>>>>>>> 2. Completed the TBF documentation (tbf.rst file).
>>>>>>> 3. Went through the HHF documentation available online.
>>>>>>> 4. Currently trying to understand the HHF implementation in Linux.
>>>>>>>
>>>>>>> Work Planned in Week 6:
>>>>>>>
>>>>>>> 1. Create the hhf.h and hhf.cc files and implement the important
>>>>>>> functions.
>>>>>>> 2. Will still keep refining the TBF code until it is worthy of merge.
>>>>>>> 3. Review the completed test suite with mentor and also discuss
>>>>>>> about potential HHF details.
>>>>>>>
>>>>>>> Code : https://github.com/tssurya/ns-3-dev-git/commit/475c1351658
>>>>>>> 7785a25f29b031fc04f964d7c29ce
>>>>>>>
>>>>>>> The TBF test suite and documentation can be found in the above link.
>>>>>>> Feel free to drop in comments there regarding TBF.
>>>>>>>
>>>>>>> Best Regards,
>>>>>>> Surya.
>>>>>>>
>>>>>>> On Tue, Jun 27, 2017 at 8:35 PM, Surya Seetharaman <
>>>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hey Everyone,
>>>>>>>>
>>>>>>>> Here is the Week 4 update :
>>>>>>>>
>>>>>>>> Work Done in Week 4 :
>>>>>>>>
>>>>>>>> 1. Changed the manner of DoDequeue() implementation in TBF.
>>>>>>>> Initially we were doing the exact same implementation as done in Linux, but
>>>>>>>> this made the code unreadable in ns-3. So now we implemented the same Linux
>>>>>>>> logic in a simpler manner.
>>>>>>>> 2. Prepared and submitted code for phase 1 review.
>>>>>>>> 3. Wrote a skeleton implementation of the TBF test suite.
>>>>>>>> 4. Tackling issues arising out of implementing the test suite and
>>>>>>>> refining the TBF implementation.
>>>>>>>> 5. Currently working on setting the mtu parameter (here, its the
>>>>>>>> size of second token bucket) in a better manner.
>>>>>>>>
>>>>>>>> Work Planned in Week 5 :
>>>>>>>>
>>>>>>>> 1. Get the TBF test suite working and discuss improvements with
>>>>>>>> mentor.
>>>>>>>> 2. Make changes based on first phase review comments, if any.
>>>>>>>> 3. Finish any backlogs, clean up TBF code and prepare to start HHF
>>>>>>>> implementation in Week 6.
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>> Surya.
>>>>>>>>
>>>>>>>> On Tue, Jun 20, 2017 at 10:42 PM, Surya Seetharaman <
>>>>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi Everyone,
>>>>>>>>>
>>>>>>>>> Week 3 Progress :
>>>>>>>>>
>>>>>>>>> Work Done in Work 3 :
>>>>>>>>>
>>>>>>>>> 1. Finished TBF DoDequeue() and got it working.
>>>>>>>>> 2. With that completed all functionalities in tbf.h and tbf.cc
>>>>>>>>> files.
>>>>>>>>> 3. Finished coding the TBF user example (using the RED
>>>>>>>>> traffic-control example as the basis).
>>>>>>>>> 4. Using the example, tested the basic working of TBF; it seems to
>>>>>>>>> behave as expected but need to do further testing.
>>>>>>>>> 5. Currently starting with the TBF test-case suite.
>>>>>>>>>
>>>>>>>>> Work Planned for Week 4 :
>>>>>>>>>
>>>>>>>>> 1. Code the TBF test case suite.
>>>>>>>>> 2. Do overall TBF testing and refine the existing code accordingly.
>>>>>>>>> 3. Prepare and submit code for Phase 1 review.
>>>>>>>>>
>>>>>>>>> If you have any questions or comments, please feel free to
>>>>>>>>> contact me or raise an issue in the Github repository.
>>>>>>>>>
>>>>>>>>> Best Regards,
>>>>>>>>> Surya.
>>>>>>>>>
>>>>>>>>> On Tue, Jun 13, 2017 at 2:40 PM, Surya Seetharaman <
>>>>>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hey All,
>>>>>>>>>>
>>>>>>>>>> Week2 Progress :
>>>>>>>>>>
>>>>>>>>>> Work Done in Week2 : Almost done with the basic TBF
>>>>>>>>>> implementation, ran the traffic-control example to see if the Queue Disc
>>>>>>>>>> works. Still working on some aspects in the Dequeue function with respect
>>>>>>>>>> to the Linux code like setting up a scheduled timer to awaken the queue
>>>>>>>>>> during a situation where there are enough tokens in the bucket to allow the
>>>>>>>>>> queued up packets to be transmitted.
>>>>>>>>>>
>>>>>>>>>> Work Planned for Week3 : Start with user-example and test case
>>>>>>>>>> suite for TBF and simultaneously refine the TBF code.
>>>>>>>>>>
>>>>>>>>>> Progress was a little slower in Week2 than in Week1, will try to
>>>>>>>>>> make it up in the upcoming week.
>>>>>>>>>>
>>>>>>>>>> Code : https://github.com/tssurya/ns-3-dev-git/tree/TBF
>>>>>>>>>> Detailed Progress Blog : https://github.com/tssurya/ns-
>>>>>>>>>> 3-dev-git/wiki/GSoC-Project-Part-1-:-TBF-Implementation-in-ns-3
>>>>>>>>>> Project Wiki Page to track Plan versus Execution and Current
>>>>>>>>>> Status : https://www.nsnam.org/wiki/GSOC2017TBFAndHHF#Phase_1
>>>>>>>>>>
>>>>>>>>>> Best Regards,
>>>>>>>>>> Surya.
>>>>>>>>>>
>>>>>>>>>> On Sun, Jun 4, 2017 at 7:33 PM, Surya Seetharaman <
>>>>>>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi everyone,
>>>>>>>>>>>
>>>>>>>>>>> As the GSoC coding period officially started on May 30th, here
>>>>>>>>>>> is the weekly update regarding the progress of my project :
>>>>>>>>>>>
>>>>>>>>>>> Work done in the previous week : Started with the implementation
>>>>>>>>>>> of TBF based on its implementation in Linux. Created the tbf-queue-disc.h
>>>>>>>>>>> and tbf-queue-disc.cc files. Currently working on the dequeue functionality
>>>>>>>>>>> of the token bucket filter which is the tricky part of the implementation.
>>>>>>>>>>>
>>>>>>>>>>> Work planned for next week : Finish the implementation, do a
>>>>>>>>>>> simple testing and make necessary changes in .h and .cc files to get
>>>>>>>>>>> everything working. Also start planning a test-suite.
>>>>>>>>>>>
>>>>>>>>>>> Project is currently on track with regular discussions and
>>>>>>>>>>> support from my mentor.
>>>>>>>>>>>
>>>>>>>>>>> Code : https://github.com/tssurya/ns-
>>>>>>>>>>> 3-dev-git/tree/TBF/src/traffic-control/model
>>>>>>>>>>>
>>>>>>>>>>> Best Regards,
>>>>>>>>>>> Surya.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Sun, May 14, 2017 at 10:15 PM, Surya Seetharaman <
>>>>>>>>>>> surya.seetharaman9 at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hey everyone,
>>>>>>>>>>>>
>>>>>>>>>>>> I am Surya, a student currently doing the 5th year of my 3+2
>>>>>>>>>>>> integrated programme (BTech in Computer Science and MS in Network Services
>>>>>>>>>>>> and Systems) at KTH, Stockholm. I am happy to be a participant of this
>>>>>>>>>>>> year's Google Summer of Code programme.
>>>>>>>>>>>>
>>>>>>>>>>>> My GSoC project involves working with the traffic-control
>>>>>>>>>>>> module in ns-3 in order to implement two traffic shaping algorithms : Token
>>>>>>>>>>>> Bucket Filter and Heavy Hitter filter. These algorithms along with their
>>>>>>>>>>>> user examples and test cases should be done by the end of the GSoC
>>>>>>>>>>>> programme phase. My original proposal along with the tracking of this
>>>>>>>>>>>> project's progress has been mentioned in here :
>>>>>>>>>>>> https://www.nsnam.org/wiki/GSOC2017TBFAndHHF . Kindly feel
>>>>>>>>>>>> free to provide your feedback or comments on it.
>>>>>>>>>>>>
>>>>>>>>>>>> I will be discussing the project (the progress) through this
>>>>>>>>>>>> thread in the upcoming weeks.
>>>>>>>>>>>>
>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>> Surya.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Surya.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Surya.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Surya.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Surya.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Regards,
>>>>>>> Surya.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Regards,
>>>>>> Surya.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Regards,
>>>>> Surya.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Regards,
>>>> Surya.
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Regards,
>>> Surya.
>>>
>>
>>
>>
>> --
>>
>> Regards,
>> Surya.
>>
>
>
>
> --
>
> Regards,
> Surya.
>



-- 

Regards,
Surya.



More information about the Ns-developers mailing list