From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f176.google.com (mail-pf0-f176.google.com [209.85.192.176]) by dpdk.org (Postfix) with ESMTP id AA0A4957F for ; Wed, 6 Jan 2016 08:27:51 +0100 (CET) Received: by mail-pf0-f176.google.com with SMTP id 65so189246629pff.3 for ; Tue, 05 Jan 2016 23:27:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=igel-co-jp.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=eDrrAt6mjqtncXRu10LDJT1S8uiS8inFybJ4005S0sk=; b=aJupoiX5YcicnouMFg6DsG2oNk6kt/o1Vcw4jp9Q57IUuCAl4WeGYcl5cu2rtUZYyy WDdiDNwNl/xNCLy/IjZuoopxjX99mW4ha7i+zp4sSSzYIDLpl2yehWbehwTimAoMjHLn d4XbVuq03oA/5aPAeVo383LpINsxw1V+xKSkDH2H7n0B2Lxh1sKPYOCNPvu4nmNVr28m IUFBn8CQsk9vJPjVBrwXkmKbFzLRo6XZ9HDV5XsDK72NjldkJ2cO7hoK1MHb9coLVMgF S53XzLZb372k6r3B27z6gXpdNrmW4B6VK51nXPDMO9ut+JXRNMawBjry1aFyVo34SSrF EfMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=eDrrAt6mjqtncXRu10LDJT1S8uiS8inFybJ4005S0sk=; b=CytFLOtkb0z90Eh54HNcdYlGqHdcX/U0foVCaaihhxbVk5AXe1EcLEecFmGTyO2/3X ysRT/WTSvLscFatorwIBkkGdpEVNPUYT/rTXVI6aDtce3XIggS8k+ez4gm1JDEVlSzj/ gc/fJzEaZiT3SNXYi/7dSjMd7ycuwr4SAb+D5Ptbd0oPaDj/8g4TQ7wCTEnif6h4VXPQ XjXkEHB3fOlRnU1aKJQiQwvYOf5pEcLR20/bKO0QxGDw99Pk2jZjomm3A0f6hiETo7QO umnVv0swzWvi3I7Y775uNcZ3OUf1wjpV+Q2VrsfhG3bdFqQXCbIK+xdhpRryQEfQ/BSC l1jw== X-Gm-Message-State: ALoCoQlkkXO8i3kYL8ef2jQtBcwneRflinBM7fb/lkjOxMl8FNtRnSmtMMj9FX32KRZv3stonlvequeV8RsERaZymbshXCWPTA== X-Received: by 10.98.72.210 with SMTP id q79mr81226064pfi.16.1452065270887; Tue, 05 Jan 2016 23:27:50 -0800 (PST) Received: from [10.16.129.101] (napt.igel.co.jp. [219.106.231.132]) by smtp.googlemail.com with ESMTPSA id 79sm132974070pfk.33.2016.01.05.23.27.49 for (version=TLSv1/SSLv3 cipher=OTHER); Tue, 05 Jan 2016 23:27:50 -0800 (PST) To: dev@dpdk.org References: <1447930650-26023-2-git-send-email-mukawa@igel.co.jp> <1450255049-2263-1-git-send-email-mukawa@igel.co.jp> <1450255049-2263-3-git-send-email-mukawa@igel.co.jp> <004a01d14166$f52be7e0$df83b7a0$@samsung.com> <568C9093.9020706@igel.co.jp> <568CAC99.1040305@intel.com> From: Tetsuya Mukawa X-Enigmail-Draft-Status: N1110 Message-ID: <568CC1F9.3010805@igel.co.jp> Date: Wed, 6 Jan 2016 16:27:53 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <568CAC99.1040305@intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v1 2/2] virtio: Extend virtio-net PMD to support container environment X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jan 2016 07:27:52 -0000 On 2016/01/06 14:56, Tan, Jianfeng wrote: > > > On 1/6/2016 11:57 AM, Tetsuya Mukawa wrote: >> On 2015/12/28 20:57, Pavel Fedin wrote: >>> Hello! >>> >>>> diff --git a/drivers/net/virtio/virtio_pci.h >>>> b/drivers/net/virtio/virtio_pci.h >>>> index 47f722a..d4ede73 100644 >>>> --- a/drivers/net/virtio/virtio_pci.h >>>> +++ b/drivers/net/virtio/virtio_pci.h >>>> @@ -165,6 +165,9 @@ struct virtqueue; >>>> >>>> struct virtio_hw { >>>> struct virtqueue *cvq; >>>> +#ifdef RTE_LIBRTE_VIRTIO_HOST_MODE >>>> + void *qsession; >>>> +#endif >>>> uint32_t io_base; >>>> uint32_t guest_features; >>>> uint32_t max_tx_queues; >>>> @@ -226,6 +229,26 @@ outl_p(unsigned int data, unsigned int port) >>>> } >>>> #endif >>>> >>>> +#ifdef RTE_LIBRTE_VIRTIO_HOST_MODE >>>> + >>>> +uint32_t virtio_ioport_read(struct virtio_hw *, uint64_t, char type); >>>> +void virtio_ioport_write(struct virtio_hw *, uint64_t, uint64_t, >>>> char type); >>>> + >>>> +#define VIRTIO_READ_REG_1(hw, reg) \ >>>> + virtio_ioport_read(hw, reg, 'b') >>>> +#define VIRTIO_WRITE_REG_1(hw, reg, value) \ >>>> + virtio_ioport_write(hw, reg, value, 'b') >>>> +#define VIRTIO_READ_REG_2(hw, reg) \ >>>> + virtio_ioport_read(hw, reg, 'w') >>>> +#define VIRTIO_WRITE_REG_2(hw, reg, value) \ >>>> + virtio_ioport_write(hw, reg, value, 'w') >>>> +#define VIRTIO_READ_REG_4(hw, reg) \ >>>> + virtio_ioport_read(hw, reg, 'l') >>>> +#define VIRTIO_WRITE_REG_4(hw, reg, value) \ >>>> + virtio_ioport_write(hw, reg, value, 'l') >>>> + >>>> +#else /* RTE_LIBRTE_VIRTIO_HOST_MODE */ >>>> + >>> I have a concern against such compile-time switches. What if we >>> want the same code to work for both 'real' virtio and socket-based? >>> Shouldn't we introduce some function pointers here to be able to >>> switch them at runtime? >> Hi Pavel, >> >> Thanks for commenting. >> In that case, you will run QEMU, then create containers in the guest. >> Do you have an use case for this usage? >> >> Anyway, such a feature depends on how to allocate share memory. >> So far, this patch allow you to run both virtio-net 'real' and 'virtual' >> PMDs on guest, but it will be changed to remove contiguous memory >> restriction. >> Could you please see an other thread that we talk about the restriction >> in? (I will add you to CC.) >> >> Thanks, >> Tetsuya > Hi Tetsuya, > > I prefer to a compiled library to work well in both VM and container. > > For this issue, we can address this issue using Yuanhan's way to > address virtio 1.0 support. > (He introduces struct virtio_pci_ops) > > Thanks, > Jianfeng > > > Sounds great! I will check it. Tetsuya