1. 16 1月, 2015 4 次提交
  2. 13 1月, 2015 1 次提交
  3. 08 1月, 2015 1 次提交
    • S
      nwfilter: Add support for icmpv6 filtering · 3a3b3691
      Stefan Berger 提交于
      Make use of the ebtables functionality to be able to filter certain
      parameters of icmpv6 packets. Extend the XML parser for icmpv6 types,
      type ranges, codes, and code ranges. Extend the nwfilter documentation,
      schema, and test cases.
      
      Being able to filter icmpv6 types and codes helps extending the DHCP
      snooper for IPv6 and filtering at least some parameters of IPv6's NDP
      (Neighbor Discovery Protocol) packets. However, the filtering will not
      be as good as the filtering of ARP packets since we cannot
      check on IP addresses in the payload of the NDP packets.
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      3a3b3691
  4. 06 1月, 2015 3 次提交
  5. 16 12月, 2014 1 次提交
    • M
      storage: unify permission formatting · d2632d60
      Martin Kletzander 提交于
      Volume and pool formatting functions took different approaches to
      unspecified uids/gids.  When unknown, it is always parsed as -1, but one
      of the functions formatted it as unsigned int (wrong) and one as
      int (better).  Due to that, our two of our XML files from tests cannot
      be parsed on 32-bit machines.
      
      RNG schema needs to be modified as well, but because both
      storagepool.rng and storagevol.rng need same schema for permission
      element, save some space by moving it to storagecommon.rng.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      d2632d60
  6. 09 12月, 2014 1 次提交
    • L
      conf: new network bridge device attribute macTableManager · 40961978
      Laine Stump 提交于
      The macTableManager attribute of a network's bridge subelement tells
      libvirt how the bridge's MAC address table (used to determine the
      egress port for packets) is managed. In the default mode, "kernel",
      management is left to the kernel, which usually determines entries in
      part by turning on promiscuous mode on all ports of the bridge,
      flooding packets to all ports when the correct destination is unknown,
      and adding/removing entries to the fdb as it sees incoming traffic
      from particular MAC addresses.  In "libvirt" mode, libvirt turns off
      learning and flooding on all the bridge ports connected to guest
      domain interfaces, and adds/removes entries according to the MAC
      addresses in the domain interface configurations. A side effect of
      turning off learning and unicast_flood on the ports of a bridge is
      that (with Linux kernel 3.17 and newer), the kernel can automatically
      turn off promiscuous mode on one or more of the bridge's ports
      (usually only the one interface that is used to connect the bridge to
      the physical network). The result is better performance (because
      packets aren't being flooded to all ports, and can be dropped earlier
      when they are of no interest) and slightly better security (a guest
      can still send out packets with a spoofed source MAC address, but will
      only receive traffic intended for the guest interface's configured MAC
      address).
      
      The attribute looks like this in the configuration:
      
        <network>
          <name>test</name>
          <bridge name='br0' macTableManager='libvirt'/>
          ...
      
      This patch only adds the config knob, documentation, and test
      cases. The functionality behind this knob is added in later patches.
      40961978
  7. 25 11月, 2014 1 次提交
  8. 21 11月, 2014 3 次提交
  9. 12 11月, 2014 2 次提交
    • J
      storage: Introduce 'managed' for the fchost parent · 5530f248
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1160926
      
      Introduce a 'managed' attribute to allow libvirt to decide whether to
      delete a vHBA vport created via external means such as nodedev-create.
      The code currently decides whether to delete the vHBA based solely on
      whether the parent was provided at creation time. However, that may not
      be the desired action, so rather than delete and force someone to create
      another vHBA via an additional nodedev-create allow the configuration of
      the storage pool to decide the desired action.
      
      During createVport when libvirt does the VPORT_CREATE, set the managed
      value to YES if not already set to indicate to the deleteVport code that
      it should delete the vHBA when the pool is destroyed.
      
      If libvirtd is restarted all the memory only state was lost, so for a
      persistent storage pool, use the virStoragePoolSaveConfig in order to
      write out the managed value.
      
      Because we're now saving the current configuration, we need to be sure
      to not save the parent in the output XML if it was undefined at start.
      Saving the name would cause future starts to always use the same parent
      which is not the expected result when not providing a parent. By not
      providing a parent, libvirt is expected to find the best available
      vHBA port for each subsequent (re)start.
      
      At deleteVport, use the new managed value to decide whether to execute
      the VPORT_DELETE.  Since we no longer save the parent in memory or in
      XML when provided, if it was not provided, then we have to look it up.
      5530f248
    • C
      domaincommon.rng: Add 'bootloader' to os=hvm schema for Bhyve · 79f370fc
      Conrad Meyer 提交于
      Additionally, make the <bootloader> tag optional (for bhyveload with
      custom arguments) (also, matches the actual parser).
      79f370fc
  10. 10 11月, 2014 2 次提交
  11. 06 10月, 2014 1 次提交
    • L
      conf: add trustGuestRxFilters attribute to network and domain interface · 07450cd4
      Laine Stump 提交于
      This new attribute will control whether or not libvirt will pay
      attention to guest notifications about changes to network device mac
      addresses and receive filters. The default for this is 'no' (for
      security reasons). If it is set to 'yes' *and* the specified device
      model and connection support it (currently only macvtap+virtio) then
      libvirt will watch for NIC_RX_FILTER_CHANGED events, and when it
      receives one, it will issue a query-rx-filter command, retrieve the
      result, and modify the host-side macvtap interface's mac address and
      unicast/multicast filters accordingly.
      
      The functionality behind this attribute will be in a later patch. This
      patch merely adds the attribute to the top-level of a domain's
      <interface> as well as to <network> and <portgroup>, and adds
      documentation and schema/xml2xml tests. Rather than adding even more
      test files, I've just added the net attribute in various applicable
      places of existing test files.
      07450cd4
  12. 04 10月, 2014 1 次提交
    • M
      docs, conf, schema: add support for shmem device · 540a84ec
      Martin Kletzander 提交于
      This patch adds parsing/formatting code as well as documentation for
      shared memory devices.  This will currently be only accessible in QEMU
      using it's ivshmem device, but is designed as generic as possible to
      allow future expansion for other hypervisors.
      
      In the devices section in the domain XML users may specify:
      
      - For shmem device using a server:
      
       <shmem name='shmem0'>
         <server path='/tmp/socket-ivshmem0'/>
         <size unit='M'>32</size>
         <msi vectors='32' ioeventfd='on'/>
       </shmem>
      
      - For ivshmem device not using an ivshmem server:
      
       <shmem name='shmem1'>
         <size unit='M'>32</size>
       </shmem>
      
      Most of the configuration is made optional so it also allows
      specifications like:
      
       <shmem name='shmem1/>
       <shmem name='shmem2'>
         <server/>
       </shmem>
      Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com>
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      540a84ec
  13. 29 9月, 2014 1 次提交
  14. 24 9月, 2014 1 次提交
    • J
      conf: add options for disabling segment offloading · 5b3536ae
      Ján Tomko 提交于
      Add options for tuning segment offloading:
      <driver>
        <host csum='off' gso='off' tso4='off' tso6='off'
              ecn='off' ufo='off'/>
        <guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/>
      </driver>
      which control the respective host_ and guest_ properties
      of the virtio-net device.
      5b3536ae
  15. 22 9月, 2014 1 次提交
  16. 19 9月, 2014 1 次提交
  17. 18 9月, 2014 1 次提交
    • R
      storage: zfs: implement pool build and delete · b4af4022
      Roman Bogorodskiy 提交于
       - Provide an implementation for buildPool and deletePool operations
         for the ZFS storage backend.
       - Add VIR_STORAGE_POOL_SOURCE_DEVICE flag to ZFS pool poolOptions
         as now we can specify devices to build pool from
       - storagepool.rng: add an optional 'sourceinfodev' to 'sourcezfs' and
         add an optional 'target' to 'poolzfs' entity
       - Add a couple of tests to storagepoolxml2xmltest
      b4af4022
  18. 17 9月, 2014 4 次提交
  19. 16 9月, 2014 3 次提交
    • J
      conf: add backend element to interfaces · af8b4a2e
      Ján Tomko 提交于
      For tuning the network, alternative devices
      for creating tap and vhost devices can be specified via:
      <backend tap='/dev/net/tun' vhost='/dev/net-vhost'/>
      af8b4a2e
    • E
      cputune: allow interleaved xml · 7e8feed4
      Eric Blake 提交于
      I noticed this with the recent iothread pinning code, but the
      problem existed longer than that. The XML validation required
      users to supply <cputune> children in a strict order, even though
      there was no conceptual reason why they can't occur in any order.
      
      docs/ changes best viewed with -w
      
      * docs/schemas/domaincommon.rng (cputune): Add interleave.
      * tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml: Swap
      up order, copying canonical form...
      * tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml:
      ...here.
      * tests/qemuxml2xmltest.c (mymain): Mark the difference.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      7e8feed4
    • J
      domain_conf: Add iothreadpin to cputune · 938fb12f
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1101574
      
      Add an option 'iothreadpin' to the <cpuset> to allow for setting the
      CPU affinity for each IOThread.
      
      The iothreadspin will mimic the vcpupin with respect to being able to
      assign each iothread to a specific CPU, although iothreads ids start
      at 1 while vcpu ids start at 0. This matches the iothread naming scheme.
      938fb12f
  20. 15 9月, 2014 1 次提交
    • E
      network: check for invalid forward delay time · 3aa05241
      Erik Skultety 提交于
      When spanning tree protocol is allowed in bridge settings, forward delay
      value is set as well (default is 0 if omitted). Until now, there was no
      check for delay value validity. Delay makes sense only as a positive
      numerical value.
      
      Note: However, even if you provide positive  numerical value, brctl
      utility only uses values from range <2,30>, so the number provided can
      be modified (kernel most likely) to fall within this range.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1125764
      3aa05241
  21. 10 9月, 2014 2 次提交
    • M
      qemu: Automatically create NVRAM store · 742b08e3
      Michal Privoznik 提交于
      When using split UEFI image, it may come handy if libvirt manages per
      domain _VARS file automatically. While the _CODE file is RO and can be
      shared among multiple domains, you certainly don't want to do that on
      the _VARS file. This latter one needs to be per domain. So at the
      domain startup process, if it's determined that domain needs _VARS
      file it's copied from this master _VARS file. The location of the
      master file is configurable in qemu.conf.
      
      Temporary, on per domain basis the location of master NVRAM file can
      be overridden by this @template attribute I'm inventing to the
      <nvram/> element. All it does is holding path to the master NVRAM file
      from which local copy is created. If that's the case, the map in
      qemu.conf is not consulted.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Acked-by: NLaszlo Ersek <lersek@redhat.com>
      742b08e3
    • M
      conf: Extend <loader/> and introduce <nvram/> · 68bf13db
      Michal Privoznik 提交于
      Up to now, users can configure BIOS via the <loader/> element. With
      the upcoming implementation of UEFI this is not enough as BIOS and
      UEFI are conceptually different. For instance, while BIOS is ROM, UEFI
      is programmable flash (although all writes to code section are
      denied). Therefore we need new attribute @type which will
      differentiate the two. Then, new attribute @readonly is introduced to
      reflect the fact that some images are RO.
      
      Moreover, the OVMF (which is going to be used mostly), works in two
      modes:
      1) Code and UEFI variable store is mixed in one file.
      2) Code and UEFI variable store is separated in two files
      
      The latter has advantage of updating the UEFI code without losing the
      configuration. However, in order to represent the latter case we need
      yet another XML element: <nvram/>. Currently, it has no additional
      attributes, it's just a bare element containing path to the variable
      store file.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Acked-by: NLaszlo Ersek <lersek@redhat.com>
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      68bf13db
  22. 29 8月, 2014 2 次提交
    • J
      domain_conf: Add support for iothreads in disk definition · e2523de5
      John Ferlan 提交于
      Add a new disk "driver" attribute "iothread" to be parsed as the thread
      number for the disk to use. In order to more easily facilitate the usage
      and configuration of the iothread, a "zero" for the attribute indicates
      iothreads are not supported for the device and a positive value indicates
      the specific thread to try and use.
      e2523de5
    • J
      domain_conf: Introduce iothreads XML · ee3a9620
      John Ferlan 提交于
      Introduce XML to allowing adding iothreads to the domain. These can be
      used by virtio-blk-pci devices in order to assign a specific thread to
      handle the workload for the device.  The iothreads are the official
      implementation of the virtio-blk Data Plane that's been in tech preview
      for QEMU.
      ee3a9620
  23. 26 8月, 2014 1 次提交
  24. 25 8月, 2014 1 次提交