qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Alon Levy <alevy@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/2] usb-ccid device (v2)
Date: Tue, 12 Oct 2010 11:49:52 -0500	[thread overview]
Message-ID: <4CB491B0.3050104@codemonkey.ws> (raw)
In-Reply-To: <1422376658.217751286901819957.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>

On 10/12/2010 11:43 AM, Alon Levy wrote:
> ----- "Anthony Liguori"<anthony@codemonkey.ws>  wrote:
>
>    
>> On 10/12/2010 11:03 AM, Alon Levy wrote:
>>      
>>> ----- "Anthony Liguori"<anthony@codemonkey.ws>   wrote:
>>>
>>>
>>>        
>>>> On 10/12/2010 07:58 AM, Alon Levy wrote:
>>>>
>>>>          
>>>>> This patch adds a new device, it is described in full in the
>>>>>            
>> second
>>      
>>>>>
>>>>>            
>>>> patch
>>>>
>>>>          
>>>>> intro and also in the documentation in docs. In brief it provides
>>>>>            
>> a
>>      
>>>>>
>>>>>            
>>>> standard
>>>>
>>>>          
>>>>> smart card reader device.
>>>>>
>>>>> The first patch is the configure change and docs.
>>>>> The second patch contains the actual device, I couldn't figure out
>>>>>            
>> a
>>      
>>>>>
>>>>>            
>>>> good
>>>>
>>>>          
>>>>> way to split it to ease review.
>>>>>
>>>>> v2 changed:
>>>>>     * all QSIMPLEQ turned into fixed sized rings
>>>>>     * all allocated buffers turned into fixed size buffers
>>>>>     * added migration support
>>>>>     * added a message to tell client qemu has migrated to ip:port
>>>>>      * for lack of monitor commands ip:port are 0:0, which causes
>>>>>            
>> the
>>      
>>>>>
>>>>>            
>>>> updated
>>>>
>>>>          
>>>>>       vscclient to connect to one port higher on the same host.
>>>>>            
>> will
>>      
>>>>>
>>>>>            
>>>> add monitor
>>>>
>>>>          
>>>>>       commands in a separate patch. tested with current setup.
>>>>>
>>>>>
>>>>>            
>>>> This is way too much magic to live within a device.  Devices
>>>>          
>> manage
>>      
>>>> reconnecting themselves during migration.  When you create the
>>>> destination qemu instance, you specify what to connect to.
>>>>
>>>> IOW,
>>>>
>>>> On the source:
>>>>
>>>> qemu -chardev tcp:localhost:1025,id=foo -usbdevice
>>>>          
>> ccid,chardev=foo
>>      
>>>> ...
>>>>
>>>> On the destination:
>>>>
>>>> qemu -chardev tcp:localhost:1026,id=foo -usbdevice
>>>>          
>> ccid,chardev=foo
>>      
>>>> -incoming tcp:0.0.0.0:1024 ...
>>>>
>>>> A connection happens when the device is created.
>>>>
>>>> But now I'm even further confused then when I first reviewed it..
>>>>          
>> If
>>      
>>>> you're now supporting migration, does that mean that you're relying
>>>>          
>> on
>>      
>>>> the daemon to emulate the device?
>>>>
>>>>
>>>>          
>>> Let me try to clarify this. Nothing has changed since the last patch
>>>        
>> except
>>      
>>> for what's in the notes, i.e. migration support. The device I'm
>>>        
>> adding is a
>>      
>>> reader. The reader is just a pipe between smart cards and the guest
>>>        
>> operating
>>      
>>> system. The smart card logic does live outside of this device, and
>>>        
>> is available
>>      
>>> in the cac_card sources at
>>>        
>> http://cgit.freedesktop.org/~alon/cac_card/ (all of
>>      
>>> this is in docs/usb_ccid.txt).
>>>
>>> So when I speak of vscclient, I'm talking of an application that
>>>        
>> emulates a smart
>>      
>>> card and initiates a tcp connection to qemu that connects to the
>>>        
>> usb-ccid device.
>>      
>>> vscclient is also in the cac_card sources.
>>>
>>>        
>> Okay, let me be clear.  We shouldn't be doing device emulation outside
>>
>> of QEMU's source tree--at least, not in this type of context.
>> External
>> devices present a great deal of challenges and we shouldn't just
>> approach it in an ad-hoc fashion.
>>      
> There are two devices:
>   smart card reader, aka CCID device - emulated inside qemu. Submitted.
>   smart card - emulated outside of qemu. Fully available, open source separate project.
>    

And how does the smart card state get migrated during migration?  How do 
you keep it synced with QEMU?

I don't understand the use-case behind this.  Is this so that a local 
physical smart card can be passed through to a guest from a Spice client 
and when migration happens, the QEMU instance connects back to the Spice 
client?  So the device is never actually migrated?

Regards,

Anthony Liguori

  reply	other threads:[~2010-10-12 16:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <593949580.216281286900989465.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
2010-10-12 16:43 ` [Qemu-devel] [PATCH 0/2] usb-ccid device (v2) Alon Levy
2010-10-12 16:49   ` Anthony Liguori [this message]
2010-10-12 17:09     ` Alon Levy
2010-10-12 18:23       ` Anthony Liguori
2010-10-13 11:54         ` Alon Levy
2010-10-14 18:37 Robert Relyea
2010-10-14 18:52 ` Anthony Liguori
2010-10-14 22:03   ` Robert Relyea
2010-10-14 22:16     ` Anthony Liguori
2010-10-15  0:16       ` Robert Relyea
     [not found] <1045788737.212361286898758903.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
2010-10-12 16:03 ` Alon Levy
2010-10-12 16:21   ` Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2010-10-12 12:58 Alon Levy
2010-10-12 13:24 ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CB491B0.3050104@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=alevy@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).