Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Halil Pasic <pasic@linux.ibm.com>
Cc: Parav Pandit <parav@nvidia.com>,
	virtio-dev@lists.oasis-open.org,
	virtio-comment@lists.oasis-open.org,
	Jason Wang <jasowang@redhat.com>
Subject: [virtio-dev] Re: [virtio-comment] [PATCH v4] virtio-net: Avoid confusion between a card and a device
Date: Fri, 20 Jan 2023 07:27:36 -0500	[thread overview]
Message-ID: <20230120072432-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230120124450.7fdacf24.pasic@linux.ibm.com>

On Fri, Jan 20, 2023 at 12:44:50PM +0100, Halil Pasic wrote:
> On Thu, 12 Jan 2023 23:26:32 +0200
> Parav Pandit <parav@nvidia.com> wrote:
> 
> > Ethernet card is a relatively vague term in context of virtio network
> > device specification. A Ethernet card in the industry has one to
> > multiple ports, one to multiple PCI functions.
> > 
> > Historically virtio network device is documented as a Ethernet card.
> > However it is usually just a single virtual Ethernet device.
> 
> "Ethernet device" does not seem to be a well established term for what
> we are trying to express here.
> 
> Please compare:
> https://en.wikipedia.org/w/index.php?search=ethernet+device
> to
> https://en.wikipedia.org/w/index.php?search=ethernet+card
> 
> You can also have a look at
> 
> https://www.google.com/search?q=%22ethernet+device%22


Thanks Halil, this sounds convincing.

Generally I'm not sure how is virtio different from a single port
device. Neither am I sure we'll never have a multiport virtio network
device.

> > 
> > Hence, avoid this confusing term 'card' and align the specification
> > to adhere to widely used specification term as 'device' used for all
> > virtio device types.
> 
> I don't think all the places you touch refer to the virtio device --
> some rather are for describing what the nature of the virtio device
> (and its functionality). 
> 
> > 
> > This patch is on top of change [1].
> > 
> > [1] https://lists.oasis-open.org/archives/virtio-dev/202301/msg00210.html
> > 
> > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/154
> > Reviewed-by: Jason Wang <jasowang@redhat.com>
> > Signed-off-by: Parav Pandit <parav@nvidia.com>
> > ---
> > changelog:
> > v3->v4:
> > - rebased to new directory name
> > v2->v3:
> > - rebased to new file name
> > v1->v2:
> > - adapt to new file path
> > v0->v1:
> > - removed device word twice
> > - corrected grammar for changing from card to device
> > ---
> >  content.tex                      | 6 +++---
> >  device-types/net/description.tex | 6 +++---
> >  2 files changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/content.tex b/content.tex
> > index 0118b8a..df5ce16 100644
> > --- a/content.tex
> > +++ b/content.tex
> > @@ -619,7 +619,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> >  \hline
> >  Transitional PCI Device ID  &  Virtio Device    \\
> >  \hline \hline
> > -0x1000      &   network card     \\
> > +0x1000      &   network device     \\
> 
> This makes sense
> 
> >  \hline
> >  0x1001     &   block device     \\
> >  \hline
> > @@ -635,7 +635,7 @@ \subsection{PCI Device Discovery}\label{sec:Virtio Transport Options / Virtio Ov
> >  \hline
> >  \end{tabular}
> >  
> > -For example, the network card device with the Virtio Device ID 1
> > +For example, the network device with the Virtio Device ID 1
> >  has the PCI Device ID 0x1041 or the Transitional PCI Device ID 0x1000.
> >  
> >  The PCI Subsystem Vendor ID and the PCI Subsystem Device ID MAY reflect
> > @@ -2912,7 +2912,7 @@ \chapter{Device Types}\label{sec:Device Types}
> >  \hline \hline
> >  0          & reserved (invalid) \\
> >  \hline
> > -1          &   network card     \\
> > +1          &   network device     \\
> 
> This too.
> 
> >  \hline
> >  2          &   block device     \\
> >  \hline
> > diff --git a/device-types/net/description.tex b/device-types/net/description.tex
> > index 2bd82ee..7409f2a 100644
> > --- a/device-types/net/description.tex
> > +++ b/device-types/net/description.tex
> > @@ -1,6 +1,6 @@
> >  \section{Network Device}\label{sec:Device Types / Network Device}
> >  
> > -The virtio network device is a virtual ethernet card, and is the
> > +The virtio network device is a virtual ethernet device, and is the
> 
> See, before you change the subject is "virtio network *device*"
> and we describe it as a "virtual ethernet *card*".
> 
> Yes we could replace card with NIC or network interface controller, or
> network adapter, or adapter. But device does not work for me. Sorry.
> 
> >  most complex of the devices supported so far by virtio. It has
> >  enhanced rapidly and demonstrates clearly how support for new
> >  features are added to an existing device. Empty buffers are
> > @@ -33,7 +33,7 @@ \subsection{Feature bits}\label{sec:Device Types / Network Device / Feature bits
> >  
> >  \begin{description}
> >  \item[VIRTIO_NET_F_CSUM (0)] Device handles packets with partial checksum.   This
> > -  ``checksum offload'' is a common feature on modern network cards.
> > +  ``checksum offload'' is a common feature of a modern network device.
> 
> Here again, we are not talking about the virtio device, but the real HW
> stuff upon which the virtio device is modeled.
> 
> >  
> >  \item[VIRTIO_NET_F_GUEST_CSUM (1)] Driver handles packets with partial checksum.
> >  
> > @@ -323,7 +323,7 @@ \subsection{Device Initialization}\label{sec:Device Types / Network Device / Dev
> >  
> >  \item If the VIRTIO_NET_F_MAC feature bit is set, the configuration
> >    space \field{mac} entry indicates the ``physical'' address of the
> > -  network card, otherwise the driver would typically generate a random
> > +  network device, otherwise the driver would typically generate a random
> >    local MAC address.
> 
> I guess this also explains MAC in general, not scoped down to the
> virtio-net device.
> 
> All this given I'm not in favor of this patch! 
> 
> Yes, I do think we can do better than "card", but in the cases above
> "device" is not the right way to go.
> 
> Regards,
> Halil
> 
> 
> [..]


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2023-01-20 12:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-12 21:26 [virtio-comment] [PATCH v4] virtio-net: Avoid confusion between a card and a device Parav Pandit
2023-01-20 11:44 ` Halil Pasic
2023-01-20 12:27   ` Michael S. Tsirkin [this message]
2023-01-20 19:00     ` [virtio-dev] " Parav Pandit
2023-01-20 18:58   ` Parav Pandit

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=20230120072432-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=parav@nvidia.com \
    --cc=pasic@linux.ibm.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.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