Opened 9 years ago

Last modified 7 years ago

#655 new enhancement

Networking stabilization campaign

Reported by: Martin Decky Owned by:
Priority: major Milestone:
Component: helenos/net/other Version: mainline
Keywords: gsoc16, gsoc17 Cc:
Blocker for: Depends on:
See also: #546, #589, #627, #628

Description

While the feature set of the HelenOS networking stack is currently reasonable for many practical applications and the networking stack is generally operational, it is still not rock-solid and 100% reliable. The purpose of this ticket is to systematically hunt down the majority of bugs in the networking stack.

Details
There are several open tickets related to the HelenOS networking stack (#546, #589, #627, #628) and generally speaking the networking stack is still not behaving flawlessly. People usually avoid stressing the networking stack or putting it under high demand. The practical 100% reliability that one expects from a networking stack is simply just not there yet.

The purpose of this ticket is to systematically hunt down the majority of bugs in the networking stack (i.e. all major bugs that can be detected, reproduced, triaged and fixed in the given time frame). This requires designing and implementing a rigorous and robust methodology that would be able to objectively determine whether the degree of reliability of the networking stack actually improves over time. This methodology should be based on a set of stress tests for all major aspects of the networking stack operation, with mostly automatic evaluation of the stress tests.

The purpose of this ticket is not to improve the overall performance of the networking stack, although trivial performance bottlenecks and performance issues that break conformance (incorrect timeouts, etc.) are still covered by this ticket.

What Gains and Benefits will this bring?
When the work on this ticket is over, the HelenOS networking stack should no longer be considered a working prototype, but instead a production-ready implementation. Other components can readily rely on the reliability of the networking stack.
Difficulty
High
Required skills
A successful applicant will have good skills of programming in the C language, the ability to understand a non-trivial amount of existing C code and good analytical skills (both for designing the assessment methodology and for finding root causes of bugs).
Documentation
Possible mentors
HelenOS Core Team, Jakub Jermar, Martin Decky, Jiri Svoboda

Change History (1)

comment:1 by Jiri Svoboda, 7 years ago

I agree with the need for automated testing. We also need basic functionality tests - both unit tests and end-to-end tests. I already began work on TCP unit testing.

Note: See TracTickets for help on using tickets.