[libvirt] [PATCH v5 1/6] graphics: introduce listen type socket and use it for VNC

Pavel Hrdina phrdina at redhat.com
Wed May 25 08:50:36 UTC 2016


On Wed, May 25, 2016 at 10:32:02AM +0200, Christophe Fergeau wrote:
> On Tue, May 24, 2016 at 04:45:53PM +0200, Pavel Hrdina wrote:
> > Introduce a new listen type that will be used to tell a graphics device
> > to listen on unix socket and use it for VNC graphics instead of socket
> > attribute.  The socket attribute will remain in the XML for backward
> > compatibility.
> > 
> > Since old libvirt supports 'socket' attribute inside 'graphics' element
> > for socket path provided by user libvirt will generate migratable XML
> > without that listen type='socket' but only with 'socket' attribute in
> > order to be able to migrate back to old libvirt.
> > 
> > Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> > diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> > index 72bfa35..91f41db 100644
> > --- a/docs/formatdomain.html.in
> > +++ b/docs/formatdomain.html.in
> > @@ -5349,6 +5349,22 @@ qemu-kvm -net nic,model=? /dev/null
> >            of the first forward dev will be used.
> >          </p>
> >        </dd>
> > +      <dt><code>socket</code> <span class="since">since 1.3.5</span></dt>
> > +      <dd>
> > +        <p>
> > +          This listen type tells a graphics server to listen on unix socket.
> > +          Attribute <code>socket</code> contains a path to unix socket. If this
> > +          attribute is omitted libvirt will generate this path for you.
> > +          Supported by graphics type <code>vnc</code>.
> > +        </p>
> > +        <p>
> > +          For <code>vnc</code> graphics be backward compatible
> > +          the <code>socket</code> attribute of first <code>listen</code> element
> > +          is duplicated as <code>socket</code> attribute in <code>graphics</code>
> > +          element. If <code>graphics</code> element contains a <code>socket</code>
> > +          attribute all <code>listen</code> elements are ignored.
> > +        </p>
> > +      </dd>
> >      </dl>
> >  
> >      <h4><a name="elementsVideo">Video devices</a></h4>
> > diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
> > index 903fd7e..60f9f52 100644
> > --- a/docs/schemas/domaincommon.rng
> > +++ b/docs/schemas/domaincommon.rng
> > @@ -2971,6 +2971,16 @@
> >                </attribute>
> >              </optional>
> >            </group>
> > +          <group>
> > +            <attribute name="type">
> > +              <value>socket</value>
> > +            </attribute>
> > +            <optional>
> > +              <attribute name="socket">
> > +                <ref name="absFilePath"/>
> > +              </attribute>
> > +            </optional>
> > +          </group>
> >          </choice>
> >        </element>
> >      </zeroOrMore>
> 
> Reiterating an old comment on this new version, but I really think
> "type" should be "unix" rather than "socket" for consistency reasons.
> Less strong feelings on "socket" VS "path" for the associated attribute
> name.

Yes, I know about your comment but like I've already replied, I would prefer 
"socket" for consistency reasons.  I would use "unix" if we had a "tcp" instead
of "address".  All other occurrences in our XML have "tcp", "udp" and "unix"
but in case of listens we have "address", "network" and "none" and I think that
"socket" fits better than "unix".

I'm not arguing that "unix" would be more correct description, but "socket"
isn't completely wrong.

Pavel




More information about the libvir-list mailing list