Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vhost-user with zero copy #152

Closed
wants to merge 12 commits into from

Commits on Apr 23, 2014

  1. Make 'Source' use external rx_buffer_freelist

    Packet size can be passed as :new argument - defaults to 60.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    5efec5e View commit details
    Browse the repository at this point in the history
  2. packet deref and free - add freelist argument

    Not all packets are allocated from the global `buffer`.
    We need a freelist argument to deref and free in order to properly
    'free' the iovec attached buffers.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    2bfcd28 View commit details
    Browse the repository at this point in the history
  3. packet - add packet_size

    This saves some processing at runtime.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    57c937a View commit details
    Browse the repository at this point in the history
  4. Added designs.nfv.nfv.

    This is currently a simple application that connects one vhost_user
    interface with one intel10g interface.
    
    Fixes in the original version - pci, rx/tx naming, update to latest
    intel args passing.
    
    Signed-off-by: Luke Gorrie <luke@snabb.co>
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    a2c685a View commit details
    Browse the repository at this point in the history
  5. Align to latest vhost-user-v9

    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    2478c28 View commit details
    Browse the repository at this point in the history
  6. Decouple form intel10g

    For the selftest we'll use a non-HW dependent setup:
    
    vhost -> tee -> sink
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    966ee5c View commit details
    Browse the repository at this point in the history
  7. Fix process_qemu_requests when QEMU goes down

    vhost_user_receive will return 0 when the other end closed
    the socket. In such case shut vhost_user operation.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    953928b View commit details
    Browse the repository at this point in the history
  8. Lower the rate of qemu process polling

    Once vhost_user is UP it will have almos no communication so no
    need to process it that often. Add a counter and use it to lower
    the syscalls.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    85f4be4 View commit details
    Browse the repository at this point in the history
  9. vhost_user add link_down_proc

    Add a callback to execute when the other end shuts.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    f31b535 View commit details
    Browse the repository at this point in the history
  10. vhost_user set_vring_addr

    used and avail will be pointers
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    7b79be7 View commit details
    Browse the repository at this point in the history
  11. Enhance virtio.h with more feature bits

    These are not used now - but may be usefull in the future. Enumerate them
    now for completeness.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    46c9f1d View commit details
    Browse the repository at this point in the history
  12. Extract the virtio-net device code into a separate module

    No features are supported in this implementation
    This will result in having the following descriptor layout for both RX/TX:
    
     - virtio_header
     - data buffer
    
    The buffer origin struct is extended to include the information needed
    to access the virtio header.
    
    no-IOMMU - translate all virtual addesses to physical
    
    NOTE: This is slow! Using pread for each packet ...
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 23, 2014
    Configuration menu
    Copy the full SHA
    81274b3 View commit details
    Browse the repository at this point in the history