Opened 7 years ago

Last modified 6 years ago

#674 closed enhancement

Implement virtio-net driver — at Version 8

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.7.2
Component: helenos/net/other Version: mainline
Keywords: virtio, net, gsoc18 Cc:
Blocker for: Depends on:
See also: #675

Description (last modified by Jakub Jermář)

Implement a native HelenOS driver for virtio network device.

Details
Virtio is a specification for virtual I/O devices that allows to use paravirtualized drivers with an otherwise fully-virtualized guest OS, leading to more efficient I/O.

Virtio network device (virtio-net) is currently supported by KVM and VirtualBox.

The new driver should be realized as a PCI device driver which plugs itself into the HelenOS Device Driver Framework (DDF) and networking stack, and implements the network interface card interface in the virtio-net specific way.

What Gains and Benefits will this bring?
HelenOS might need a virtio network device driver if we want to run it in a KVM-based hosting (e.g. Google Compute Engine) and serve some web content (e.g. microkernel.info) to the public from it.
Difficulty
medium to high
Required skills
A successful applicant will have good skills of programming in the C language and the ability to learn and use HelenOS specific I/O functions. A successful applicant should have a fair understanding of the workings of the networking stack and the NICF too.
Documentation
Possible mentors
HelenOS Core Team, Jakub Jermar

Change History (8)

comment:1 by Jakub Jermář, 7 years ago

See also: #675

comment:2 by Jakub Jermář, 6 years ago

Milestone: 0.7.1

comment:3 by Jakub Jermář, 6 years ago

Keywords: gsoc18 needswork added

comment:4 by Jakub Jermář, 6 years ago

Description: modified (diff)

comment:5 by Jakub Jermář, 6 years ago

Description: modified (diff)

comment:6 by Jakub Jermář, 6 years ago

Keywords: needswork removed

comment:7 by Jakub Jermář, 6 years ago

Description: modified (diff)

comment:8 by Jakub Jermář, 6 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.