Implement virtio-net driver
    
    
    
      
      
      
        
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 (NICF) 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 or even self-host helenos.org) 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 DDF and NICF too.
 
- Documentation
 - 
 
- Possible mentors
 - 
HelenOS Core Team, Jakub Jermar
 
       
     
   
 
      
        
        
          Change History
          (10)
        
          
          
          
  
  
  
    
      | Keywords: | 
      
        gsoc18 needswork added
       | 
    
  
 
           
          
  
  
  
    
      | Description: | 
      
        modified (diff)
       | 
    
  
 
           
          
  
  
  
    
      | Description: | 
      
        modified (diff)
       | 
    
  
 
           
          
  
  
  
    
      | Keywords: | 
      
        needswork removed
       | 
    
  
 
           
          
  
  
  
    
      | Description: | 
      
        modified (diff)
       | 
    
  
 
           
          
  
  
  
    
      | Description: | 
      
        modified (diff)
       | 
    
  
 
           
          
  
  
  
    
      | Description: | 
      
        modified (diff)
       | 
    
  
 
           
          
  
  
  
    
      | Milestone: | 
      
        → 0.7.2
       | 
    
    
      | Resolution: | 
      
        → fixed
       | 
    
    
      | Status: | 
      
        new → closed
       | 
    
  
 
           
          
         
       
     
        
    
    
Basic virtio-net driver was merged in commit fbfe59dafcc4f7e06cbbf09e2d88ed3e434b4a33.