Fetching the latest programs, projects, and workspace data.

<p><strong>*APPLICATIONS ONLY OPEN TO STUDENTS LOCATED IN CHINA*</strong></p><p><br></p><p><strong>Problem Statement</strong></p><p><br></p><p>SONiC supports serial console management using console switch functions, enabling it to act as a terminal server and control devices through the serial console. Diagnosing issues with the serial console can be challenging because the connection is exclusive, so only the user on that line knows what’s happening. For Ethernet, SONiC users can leverage the Everflow feature to mirror data plane traffic or use tcpdump to monitor control plane traffic. In the context of serial consoles, however, a new feature is needed to mirror serial console traffic, which would greatly assist with diagnosing console problems.</p><p><br></p><p><br></p><p><strong>Mentorship Objectives</strong></p><p><br></p><p>The goal of this project is to create and implement a new SONiC feature that lets users start or stop recording for a specific console line whenever needed.</p><p>Key features include:</p><ul><li>Designing a file format to store the serial console data stream, with configurable time resolution.</li><li>Mirroring incoming (RX) data streams to a local file.</li><li>Mirroring outgoing (TX) data streams to a local file.</li><li>Adding CLI support to start or stop recording for any serial console line.</li><li>Additional desired features are:</li><li>Mirroring the CTS flow control signal to a local file.</li><li>Mirroring the RTS flow control signal to a local file.</li><li>Providing encryption for recordings.</li><li>Implementing gNOI APIs to enable start/stop recording for specific serial console lines.</li><li>The feature will be implemented in Python based on existing serial console infrastructure which allows developer to manipulate serial console data stream.</li></ul><p><br></p><p><strong>Expected Outcomes and Deliverables</strong></p><p><br></p><ul><li>HLD document for console mirroring feature</li><li>Implementation details of console mirroring</li><li>Test plan for console mirroring</li><li>Test cases for console mirroring</li></ul><p><br></p><p><strong>Recommended Qualifications</strong></p><p><br></p><ul><li>Familiarity with a common programming language (Python, Java, C, C++, Rust, etc.)</li><li>Basic Linux knowledge</li><li>Basic SONiC knowledge (preferred)</li><li>AI or vibe coding experience (preferred)</li></ul>
Showing 1 of 1 projects. Click any project card for scope, mentors, and proposal studio.
<p><strong>*APPLICATIONS ONLY OPEN TO STUDENTS LOCATED IN CHINA*</strong></p><p><br></p><p><strong>Problem Statement</strong></p><p><br></p><p>SONiC supports serial console management using console switch functions, enabling it to act as a terminal server and control devices through the serial console. Diagnosing issues with the serial console can be challenging because the connection is exclusive, so only the user on that line knows what’s happening. For Ethernet, SONiC users can leverage the Everflow feature to mirror data plane traffic or use tcpdump to monitor control plane traffic. In the context of serial consoles, however, a new feature is needed to mirror serial console traffic, which would greatly assist with diagnosing console problems.</p><p><br></p><p><br></p><p><strong>Mentorship Objectives</strong></p><p><br></p><p>The goal of this project is to create and implement a new SONiC feature that lets users start or stop recording for a specific console line whenever needed.</p><p>Key features include:</p><ul><li>Designing a file format to store the serial console data stream, with configurable time resolution.</li><li>Mirroring incoming (RX) data streams to a local file.</li><li>Mirroring outgoing (TX) data streams to a local file.</li><li>Adding CLI support to start or stop recording for any serial console line.</li><li>Additional desired features are:</li><li>Mirroring the CTS flow control signal to a local file.</li><li>Mirroring the RTS flow control signal to a local file.</li><li>Providing encryption for recordings.</li><li>Implementing gNOI APIs to enable start/stop recording for specific serial console lines.</li><li>The feature will be implemented in Python based on existing serial console infrastructure which allows developer to manipulate serial console data stream.</li></ul><p><br></p><p><strong>Expected Outcomes and Deliverables</strong></p><p><br></p><ul><li>HLD document for console mirroring feature</li><li>Implementation details of console mirroring</li><li>Test plan for console mirroring</li><li>Test cases for console mirroring</li></ul><p><br></p><p><strong>Recommended Qualifications</strong></p><p><br></p><ul><li>Familiarity with a common programming language (Python, Java, C, C++, Rust, etc.)</li><li>Basic Linux knowledge</li><li>Basic SONiC knowledge (preferred)</li><li>AI or vibe coding experience (preferred)</li></ul>