1. 19 Jul, 2016 1 commit
  2. 27 May, 2015 1 commit
    • Markus Armbruster's avatar
      net: Permit incremental conversion of init functions to Error · a30ecde6
      Markus Armbruster authored
      Error reporting for netdev_add is broken: the net_client_init_fun[]
      report the actual errors with (at best) error_report(), and their
      caller net_client_init1() makes up a generic error on top.
      
      For command line and HMP, this produces an mildly ugly error cascade.
      
      In QMP, the actual errors go to stderr, and the generic error becomes
      the command's error reply.
      
      To fix this, we need to convert the net_client_init_fun[] to Error.
      
      To permit fixing them one by one, add an Error ** parameter to the
      net_client_init_fun[].  If the call fails without returning an Error,
      make up the same generic Error as before.  But if it returns one, use
      that instead.  Since none of them does so far, no functional change.
      Signed-off-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: 's avatarEric Blake <eblake@redhat.com>
      Message-id: 1431691143-1015-3-git-send-email-armbru@redhat.com
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      a30ecde6
  3. 27 Jun, 2014 1 commit
    • Anton Ivanov's avatar
      net: L2TPv3 transport · 3fb69aa1
      Anton Ivanov authored
      This transport allows to connect a QEMU nic to a static Ethernet
      over L2TPv3 tunnel. The transport supports all options present
      in the Linux kernel implementation. It allows QEMU to connect
      to any Linux host running kernel 3.3+, most routers and network
      devices as well as other QEMU instances.
      
      [Fixed up net_client_init1() switch statement to support -netdev
      --Stefan]
      Signed-off-by: 's avatarAnton Ivanov <antivano@cisco.com>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      3fb69aa1
  4. 19 Jun, 2014 1 commit
  5. 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
      options:
          ./configure [...] --enable-netmap --extra-cflags=-I/path/to/netmap/sys
      where "/path/to/netmap" contains the netmap source code, available at
          http://info.iet.unipi.it/~luigi/netmap/
      
      The same webpage contains more information about the netmap project
      (together with papers and presentations).
      Signed-off-by: 's avatarVincenzo Maffione <v.maffione@gmail.com>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@redhat.com>
      58952137
  6. 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: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      1422e32d
  7. 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: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@gmail.com>
      a245fc18
  8. 01 Aug, 2012 2 commits
  9. 23 Jul, 2012 2 commits
    • Laszlo Ersek's avatar
      remove unused QemuOpts parameter from net init functions · 1a0c0958
      Laszlo Ersek authored
      v1->v2:
      - unchanged
      
      v2->v3:
      - keep "qemu-option.h" included in "net/slirp.h"
      Signed-off-by: 's avatarLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      1a0c0958
    • 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
      clearly.
      
      VLAN lookup is avoided if there's no init function to pass the VLAN to.
      
      Whenever the value of type=... is needed, we substitute
      NetClientOptionsKind_lookup[kind].
      
      The individual init functions are not converted yet, thus the original
      QemuOpts instance is passed transparently.
      
      v1->v2:
      - NetLegacy::name is optional. Tracked it through all init functions: they
        all handle a NULL name. Updated commit message accordingly.
      
      v2->v3:
      - NetLegacy::id is allowed and takes precedence over NetLegacy::name.
      Signed-off-by: 's avatarLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: 's avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      6687b79d
  10. 04 Jun, 2012 1 commit
  11. 03 Dec, 2009 2 commits
  12. 03 Mar, 2009 1 commit
  13. 08 Apr, 2008 1 commit
  14. 01 Feb, 2008 1 commit
  15. 07 Oct, 2007 1 commit
  16. 16 Sep, 2007 1 commit
  17. 07 Apr, 2007 1 commit
  18. 02 Feb, 2007 1 commit
  19. 30 Oct, 2005 1 commit
  20. 07 Nov, 2004 1 commit