1. 09 Dec, 2013 1 commit
    • Vincenzo Maffione's avatar
      net: Adding netmap network backend · 58952137
      Vincenzo Maffione authored
      This patch adds support for a network backend based on netmap.
      netmap is a framework for high speed packet I/O. You can use it
      to build extremely fast traffic generators, monitors, software
      switches or network middleboxes. Its companion software switch
      VALE lets you interconnect virtual machines.
      netmap and VALE are implemented as a non-intrusive kernel module,
      support NICs from multiple vendors, are part of standard FreeBSD
      distributions and available in source format for Linux too.
      To compile QEMU with netmap support, use the following configure
          ./configure [...] --enable-netmap --extra-cflags=-I/path/to/netmap/sys
      where "/path/to/netmap" contains the netmap source code, available at
      The same webpage contains more information about the netmap project
      (together with papers and presentations).
      Signed-off-by: default avatarVincenzo Maffione <v.maffione@gmail.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
  2. 19 Dec, 2012 1 commit
    • Paolo Bonzini's avatar
      net: reorganize headers · 1422e32d
      Paolo Bonzini authored
      Move public headers to include/net, and leave private headers in net/.
      Put the virtio headers in include/net/tap.h, removing the multiple copies
      that existed.  Leave include/net/tap.h as the interface for NICs, and
      net/tap_int.h as the interface for OS-specific parts of the tap backend.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
  3. 08 Oct, 2012 1 commit
    • Paolo Bonzini's avatar
      net: consolidate NetClientState header files into one · a245fc18
      Paolo Bonzini authored
      This patch doesn't seem much useful alone, I must admit.  However,
      it makes sense as part of the upcoming directory reorganization,
      where I want to have include/net/tap.h as the net<->hw interface
      for tap.  Then having both net/tap.h and include/net/tap.h does
      not work.  "Fixed" by moving all the init functions to a single
      header file net/clients.h.
      The patch also adopts a uniform style for including net/*.h files
      from net/*.c, without the net/ path.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@gmail.com>
  4. 01 Aug, 2012 2 commits
  5. 23 Jul, 2012 2 commits
    • Laszlo Ersek's avatar
      remove unused QemuOpts parameter from net init functions · 1a0c0958
      Laszlo Ersek authored
      - unchanged
      - keep "qemu-option.h" included in "net/slirp.h"
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    • Laszlo Ersek's avatar
      convert net_client_init() to OptsVisitor · 6687b79d
      Laszlo Ersek authored
      The net_client_init() prototype is kept intact.
      Based on "is_netdev", the QemuOpts-rooted QemuOpt-list is parsed as a
      Netdev or a NetLegacy. The original meat of net_client_init() is moved to
      and simplified in net_client_init1():
      Fields not common between -net and -netdev are clearly separated. Getting
      the name for the init functions is cleaner: Netdev::id is mandatory, and
      all init functions handle a NULL NetLegacy::name. NetLegacy::vlan
      explicitly depends on -net (see below).
      Verifying the "type=" option for -netdev can be turned into a switch.
      Format validation with qemu_opts_validate() can be removed because the
      visitor covers it. Relatedly, the "net_client_types" array is reduced to
      an array of init functions that can be directly indexed by opts->kind.
      (Help text is available in the schema JSON.)
      The outermost negation in the condition around qemu_find_vlan() was
      flattened, because it expresses the dependent code's requirements more
      VLAN lookup is avoided if there's no init function to pass the VLAN to.
      Whenever the value of type=... is needed, we substitute
      The individual init functions are not converted yet, thus the original
      QemuOpts instance is passed transparently.
      - NetLegacy::name is optional. Tracked it through all init functions: they
        all handle a NULL name. Updated commit message accordingly.
      - NetLegacy::id is allowed and takes precedence over NetLegacy::name.
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
  6. 04 Jun, 2012 1 commit
  7. 03 Dec, 2009 2 commits
  8. 03 Mar, 2009 1 commit
  9. 08 Apr, 2008 1 commit
  10. 01 Feb, 2008 1 commit
  11. 07 Oct, 2007 1 commit
  12. 16 Sep, 2007 1 commit
  13. 07 Apr, 2007 1 commit
  14. 02 Feb, 2007 1 commit
  15. 30 Oct, 2005 1 commit
  16. 07 Nov, 2004 1 commit