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 #154

Merged
merged 12 commits into from
Apr 30, 2014
Merged

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

Commits on Apr 25, 2014

  1. packet - add packet_size

    This saves some processing at runtime.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 25, 2014
    Configuration menu
    Copy the full SHA
    67ff8c3 View commit details
    Browse the repository at this point in the history
  2. 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 25, 2014
    Configuration menu
    Copy the full SHA
    f32814c View commit details
    Browse the repository at this point in the history
  3. Align to latest vhost-user-v9

    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 25, 2014
    Configuration menu
    Copy the full SHA
    8651040 View commit details
    Browse the repository at this point in the history
  4. 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 25, 2014
    Configuration menu
    Copy the full SHA
    6d2c293 View commit details
    Browse the repository at this point in the history
  5. 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 25, 2014
    Configuration menu
    Copy the full SHA
    a463ac5 View commit details
    Browse the repository at this point in the history
  6. 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 25, 2014
    Configuration menu
    Copy the full SHA
    b1b3676 View commit details
    Browse the repository at this point in the history
  7. 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 25, 2014
    Configuration menu
    Copy the full SHA
    f545773 View commit details
    Browse the repository at this point in the history
  8. vhost_user set_vring_addr

    used and avail will be pointers
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 25, 2014
    Configuration menu
    Copy the full SHA
    366a6b3 View commit details
    Browse the repository at this point in the history
  9. 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 25, 2014
    Configuration menu
    Copy the full SHA
    df6f947 View commit details
    Browse the repository at this point in the history
  10. 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 25, 2014
    Configuration menu
    Copy the full SHA
    b177ebf View commit details
    Browse the repository at this point in the history
  11. [virtio] Enable CSUM feature and handle multibuffers

    The VIRTIO_NET_F_CSUM feature enables also scatter gather I/O
    in the current Linux virtio-net driver TX path.
    
    Here we enable this feature and hanle the RX multibuffer packets.
    
    Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
    Nikolay Nikolaev committed Apr 25, 2014
    Configuration menu
    Copy the full SHA
    8694d63 View commit details
    Browse the repository at this point in the history