On 10/27/2015 10:23 AM, Stephen Hemminger wrote:
> You need to use the extended mergeable rx buffer format.
> It is a virtio spec requirement, look at Linux virtio network driver
> or ask the virtio maintainers for Linux
> if you need more clarification.
Yes, it is spec requirement as far as we know though num_buffers might
not be used.
So far not a big deal for us. Let us get clarification from mst later.
>
> On Tue, Oct 27, 2015 at 10:56 AM, Xie, Huawei <huawei.xie at intel.com
> <mailto:huawei.xie at intel.com>> wrote:
>
> On 10/27/2015 7:52 AM, Stephen Hemminger wrote:
> > On Fri, 23 Oct 2015 09:00:38 +0000
> > "Xie, Huawei" <huawei.xie at intel.com
> <mailto:huawei.xie at intel.com>> wrote:
> >
> >>>> Why use merge-able rx header here in the tx region?
> >>> If mergeable rx is negotiated then the header must be used for
> >>> both Tx and Rx. I chose to allocate the largest possible header
> >>> needed, rather than having to deal with variable size data
> structure.
> >> Our original code is also using merge-able header for TX
> descriptor if
> >> this negotiated.
> >> I checked the virtio spec, all of the merge-able header is about
> >> receiving buffers, which is expected. That is why i feel weird
> here.
> >> Maybe not a big deal?
> > Since num_buffers is only in merge-able header, the negotiation
> is implied
> > to be symmetric.
> >
> Can we come to the conclusion that in tx case, we use merge-able
> header
> though number_buffers is not used at all?
> > Reading 0.95 spec
> >
> > Under "Packet Transmission"
> > 3. If the driver negotatied the VIRTIO_NET_F_MGR_RXBUF feature
> > the num_buffers field is set to zero.
> >
> >
>
>