• L
    conf: add <listen> subelement to domain <graphics> element · ef79fb5b
    Laine Stump 提交于
    Once it's plugged in, the <listen> element will be an optional
    replacement for the "listen" attribute that graphics elements already
    have. If the <listen> element is type='address', it will have an
    attribute called 'address' which will contain an IP address or dns
    name that the guest's display server should listen on. If, however,
    type='network', the <listen> element should have an attribute called
    'network' that will be set to the name of a network configuration to
    get the IP address from.
    
    * docs/schemas/domain.rng: updated to allow the <listen> element
    
    * docs/formatdomain.html.in: document the <listen> element and its
      attributes.
    
    * src/conf/domain_conf.[hc]:
    
      1) The domain parser, formatter, and data structure are modified to
         support 0 or more <listen> subelements to each <graphics>
         element. The old style "legacy" listen attribute is also still
         accepted, and will be stored internally just as if it were a
         separate <listen> element. On output (i.e. format), the address
         attribute of the first <listen> element of type 'address' will be
         duplicated in the legacy "listen" attribute of the <graphic>
         element.
    
      2) The "listenAddr" attribute has been removed from the unions in
         virDomainGRaphicsDef for graphics types vnc, rdp, and spice.
         This attribute is now in the <listen> subelement (aka
         virDomainGraphicsListenDef)
    
      3) Helper functions were written to provide simple access
         (both Get and Set) to the listen elements and their attributes.
    
    * src/libvirt_private.syms: export the listen helper functions
    
    * src/qemu/qemu_command.c, src/qemu/qemu_hotplug.c,
      src/qemu/qemu_migration.c, src/vbox/vbox_tmpl.c,
      src/vmx/vmx.c, src/xenxs/xen_sxpr.c, src/xenxs/xen_xm.c
    
      Modify all these files to use the listen helper functions rather
      than directly referencing the (now missing) listenAddr
      attribute. There can be multiple <listen> elements to a single
      <graphics>, but the drivers all currently only support one, so all
      replacements of direct access with a helper function indicate index
      "0".
    
    * tests/* - only 3 of these are new files added explicitly to test the
      new <listen> element. All the others have been modified to reflect
      the fact that any legacy "listen" attributes passed in to the domain
      parse will be saved in a <listen> element (i.e. one of the
      virDomainGraphicsListenDefs), and during the domain format function,
      both the <listen> element as well as the legacy attributes will be
      output.
    ef79fb5b
qemuxml2xmltest.c 5.4 KB