1. 24 12月, 2010 1 次提交
    • L
      Replace brSetInetAddress/brSetInetNetmask with brAddInetAddress · 20718b8b
      Laine Stump 提交于
      brSetInetAddress can only set a single IP address on the bridge, and
      uses a method (ioctl(SIOCSETIFADDR)) that only works for IPv4. Replace
      it and brSetInetNetmask with a single function that uses the external
      "ip addr add" command to add an address/prefix to the interface - this
      supports IPv6, and allows adding multiple addresses to the interface.
      
      Although it isn't currently used in the code, we also add a
      brDelInetAddress for completeness' sake.
      
      Also, while we're modifying bridge.c, we change brSetForwardDelay and
      brSetEnableSTP to use the new virCommand API rather than the
      deprecated virRun, and also log an error message in bridge_driver.c if
      either of those fail (previously the failure would be completely
      silent).
      20718b8b
  2. 10 11月, 2010 1 次提交
    • S
      bye to close(), welcome to VIR_(FORCE_)CLOSE() · 60ae1c34
      Stefan Berger 提交于
      Using automated replacement with sed and editing I have now replaced all
      occurrences of close() with VIR_(FORCE_)CLOSE() except for one, of
      course. Some replacements were straight forward, others I needed to pay
      attention. I hope I payed attention in all the right places... Please
      have a look. This should have at least solved one more double-close
      error.
      60ae1c34
  3. 22 10月, 2010 2 次提交
    • D
      Convert virNetwork to use virSocketAddr everywhere · 090404ac
      Daniel P. Berrange 提交于
      Instead of storing the IP address string in virNetwork related
      structs, store the parsed virSocketAddr. This will make it
      easier to add IPv6 support in the future, by letting driver
      code directly check what address family is present
      
      * src/conf/network_conf.c, src/conf/network_conf.h,
        src/network/bridge_driver.c: Convert to use virSocketAddr
        in virNetwork, instead of char *.
      * src/util/bridge.c, src/util/bridge.h,
        src/util/dnsmasq.c, src/util/dnsmasq.h,
        src/util/iptables.c, src/util/iptables.h: Convert to
        take a virSocketAddr instead of char * for any IP
        address parameters
      * src/util/network.h: Add macros to determine if an address
        is set, and what address family is set.
      090404ac
    • D
      Remove all use of inet_pton and inet_ntop · a8ae7d19
      Daniel P. Berrange 提交于
      The  inet_pton and inet_ntop functions are obsolete, replaced
      by getaddrinfo+getnameinfo with the AI_NUMERICHOST flag set.
      These can be accessed via the virSocket APIs.
      
      The bridge.c code had methods for fetching the IP address of
      a bridge which used inet_ntop. Aside from the use of inet_ntop
      these methods are broken, because a NIC can have multiple
      addresses and this only returns one address. Since the methods
      are never used, just remove them.
      
      * src/conf/network_conf.c, src/nwfilter/nwfilter_learnipaddr.c:
        Replace inet_pton and inet_ntop with virSocket APIs
      * src/util/bridge.c, src/util/bridge.h: Remove unused methods
        which called inet_ntop.
      a8ae7d19
  4. 15 8月, 2010 1 次提交
  5. 23 7月, 2010 1 次提交
    • D
      Set a stable & high MAC addr for guest TAP devices on host · 6ea90b84
      Daniel P. Berrange 提交于
      A Linux software bridge will assume the MAC address of the enslaved
      interface with the numerically lowest MAC addr. When the bridge
      changes MAC address there is a period of network blackout, so a
      change should be avoided. The kernel gives TAP devices a completely
      random MAC address. Occassionally the random TAP device MAC is lower
      than that of the physical interface (eth0, eth1etc) that is enslaved,
      causing the bridge to change its MAC.
      
      This change sets an explicit MAC address for all TAP devices created
      using the configured MAC from the XML, but with the high byte set
      to 0xFE. This should ensure TAP device MACs are higher than any
      physical interface MAC.
      
      * src/qemu/qemu_conf.c, src/uml/uml_conf.c: Pass in a MAC addr
        for the TAP device with high byte set to 0xFE
      * src/util/bridge.c, src/util/bridge.h: Set a MAC when creating
        the TAP device to override random MAC
      6ea90b84
  6. 10 3月, 2010 1 次提交
  7. 09 2月, 2010 1 次提交
  8. 23 9月, 2009 1 次提交
    • C
      Introduce virStrncpy. · 03d777f3
      Chris Lalancette 提交于
      Add the virStrncpy function, which takes a dst string, source string,
      the number of bytes to copy and the number of bytes available in the
      dest string.  If the source string is too large to fit into the
      destination string, including the \0 byte, then no data is copied and
      the function returns NULL.  Otherwise, this function copies n bytes
      from source into dst, including the \0, and returns a pointer to the
      dst string.  This function is intended to replace all unsafe uses
      of strncpy in the code base, since strncpy does *not* guarantee that
      the buffer terminates with a \0.
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      03d777f3
  9. 21 9月, 2009 1 次提交
    • D
      Move all shared utility files to src/util/ · 1355e055
      Daniel P. Berrange 提交于
      * src/bridge.c, src/bridge.h, src/buf.c, src/buf.h, src/cgroup.c,
        src/cgroup.h, src/conf.c, src/conf.h, src/event.c, src/event.h,
        src/hash.c, src/hash.h, src/hostusb.c, src/hostusb.h,
        src/iptables.c, src/iptables.h, src/logging.c, src/logging.h,
        src/memory.c, src/memory.h, src/pci.c, src/pci.h, src/qparams.c,
        src/qparams.h, src/stats_linux.c, src/stats_linux.h,
        src/threads-pthread.c, src/threads-pthread.h, src/threads-win32.c,
        src/threads-win32.h, src/threads.c, src/threads.h, src/util.c,
        src/util.h, src/uuid.c, src/uuid.h, src/virterror.c,
        src/virterror_internal.h, src/xml.c, src/xml.h: Move all files
        into src/util/
      * daemon/Makefile.am: Add -Isrc/util/ to build flags
      * src/Makefile.am: Add -Isrc/util/ to build flags and update for
        moved files
      * src/libvirt_private.syms: Export cgroup APIs since they're now
        in util rather than linking directly to drivers
      * src/xen/xs_internal.c: Disable bogus virEventRemoveHandle call
        when built under PROXY
      * proxy/Makefile.am: Update for changed file locations. Remove
        bogus build of event.c
      * tools/Makefile.am, tests/Makefile.am: Add -Isrc/util/ to build flags
      1355e055
  10. 30 7月, 2009 3 次提交
  11. 03 6月, 2009 1 次提交
  12. 20 4月, 2009 1 次提交
  13. 03 3月, 2009 1 次提交
  14. 17 2月, 2009 1 次提交
  15. 14 2月, 2009 1 次提交
    • M
      Fix bridge.c warnings with gcc-4.4 · 9fec27be
      Mark McLoughlin 提交于
       bridge.c: In function 'brSetInetAddr':
       bridge.c:665: error: dereferencing pointer '({anonymous})' does break strict-aliasing rules
       bridge.c:665: note: initialized from here
       bridge.c:666: error: dereferencing pointer '({anonymous})' does break strict-aliasing rules
       bridge.c:666: note: initialized from here
      
      Fix qemud.c warnings with gcc-4.4
      
       qemud.c: In function ‘remoteListenTCP’:
       qemud.c:675: error: dereferencing pointer ‘sa.72’ does break strict-aliasing rules
       qemud.c:675: note: initialized from here
       qemud.c:678: error: dereferencing pointer ‘sa.73’ does break strict-aliasing rules
       qemud.c:678: note: initialized from here
      9fec27be
  16. 06 2月, 2009 1 次提交
    • J
      remove useless code · a9aa76ba
      Jim Meyering 提交于
      * src/bridge.c (brAddTap): Remove redundant errno=ENOMEM assignment
      after failed strdup.
      * src/cgroup.c (virCgroupFree): Remove redundant *group=NULL assignment
      after VIR_FREE(*group).
      * src/lxc_driver.c (lxcShutdown): Likewise.
      * src/xen_unified.c (xenUnifiedClose): Likewise.
      * src/xm_internal.c (xenXMDomainConfigFormat): Rewrite disk-
      and net-config-setting code to be clearer.
      a9aa76ba
  17. 27 1月, 2009 1 次提交
    • M
      kvm/virtio: Set IFF_VNET_HDR when setting up tap fds · b4f62abb
      Mark McLoughlin 提交于
      IFF_VNET_HDR is a tun/tap flag that allows you to send and receive
      large (i.e. GSO) packets and packets with partial checksums. Setting
      the flag means that every packet is proceeded by the same header which
      virtio uses to communicate GSO/csum metadata.
      
      By enabling this flag on the tap fds we create, we greatly increase
      the achievable throughput with virtio_net.
      
      However, we need to be careful to only set the flag when a) QEMU has
      support for this ABI and b) the value of the flag is queryable using
      the TUNGETIFF ioctl.
      
      It's nearly five months since kvm-74 - the first KVM release with this
      feature - was released. Up until now, we've not added libvirt support
      because there is no clean way to detect support for this in QEMU at
      runtime. A brief attempt to add a "info capabilities" monitor command
      to QEMU floundered. Perfect is the enemy of good enough. Probing the
      KVM version will suffice for now.
      Signed-off-by: NMark McLoughlin <markmc@redhat.com>
      b4f62abb
  18. 21 1月, 2009 1 次提交
  19. 05 1月, 2009 1 次提交
    • J
      Move bridge symbols into a separate syms file · 83dfc25c
      Jim Meyering 提交于
      * configure.in: Provide a new --with-bridge option.
      * src/Makefile.am (PRIVSYMFILES) [WITH_BRIDGE]: Append libvirt_bridge.syms.
      * src/bridge.c: Test WITH_BRIDGE rather than particular drivers.
      * src/libvirt_private.syms: Move bridge-related symbols into...
      * src/libvirt_bridge.syms: ...this new file.
      Author: John Levon
      83dfc25c
  20. 04 12月, 2008 1 次提交
  21. 29 8月, 2008 1 次提交
  22. 21 8月, 2008 1 次提交
  23. 07 8月, 2008 1 次提交
  24. 12 7月, 2008 2 次提交
  25. 06 6月, 2008 1 次提交
  26. 11 4月, 2008 1 次提交
  27. 15 3月, 2008 1 次提交
  28. 14 3月, 2008 1 次提交
    • D
      typo · 62b4c870
      Daniel Veillard 提交于
      * src/bridge.c: fix a typo in a comment
      Daniel
      62b4c870
  29. 13 3月, 2008 1 次提交
  30. 28 2月, 2008 1 次提交
  31. 06 2月, 2008 1 次提交
  32. 12 12月, 2007 1 次提交
    • J
      Use a variable name as sizeof argument, not a type name. · 49230350
      Jim Meyering 提交于
      Given code like: T *var = calloc (n, sizeof (T));
      Convert to this: T *var = calloc (n, sizeof (*var));
      This first-cut change adjusts all malloc, calloc, and
      realloc statements.
      
      The only binary differences are in remote_internal.c
      (due to the bug fix) and in xmlrpc.c (due to factorization).
      
      * python/libvir.c: As above.
      * qemud/event.c: Likewise.
      * qemud/mdns.c: Likewise.
      * qemud/qemud.c: Likewise.
      * qemud/remote.c: Likewise.
      * src/bridge.c: Likewise.
      * src/buf.c: Likewise.
      * src/conf.c: Likewise.
      * src/hash.c: Likewise.
      * src/iptables.c: Likewise.
      * src/openvz_conf.c: Likewise.
      * src/qemu_conf.c: Likewise.
      * src/qemu_driver.c: Likewise.
      * src/test.c: Likewise.
      * src/xen_internal.c: Likewise.
      * src/xen_unified.c: Likewise.
      * src/xm_internal.c: Likewise.
      * src/xml.c: Likewise.
      * tests/qemuxml2argvtest.c: Likewise.
      * src/xmlrpc.c (xmlRpcValuePtr): Likewise, and minor factorization.
      * src/remote_internal.c (remoteAuthMakeCredentials): Use the right
      type when allocating space for an array of cred _pointers_.
      49230350
  33. 26 11月, 2007 1 次提交
  34. 21 11月, 2007 1 次提交
  35. 21 9月, 2007 1 次提交
  36. 07 8月, 2007 1 次提交