All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Parav Pandit <parav@mellanox.com>
Cc: alex.williamson@redhat.com, jiri@mellanox.com,
	kwankhede@nvidia.com, davem@davemloft.net, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH v3 0/5] Introduce variable length mdev alias
Date: Tue, 17 Sep 2019 12:13:57 +0200	[thread overview]
Message-ID: <20190917121357.02480c09.cohuck@redhat.com> (raw)
In-Reply-To: <20190902042436.23294-1-parav@mellanox.com>

On Sun,  1 Sep 2019 23:24:31 -0500
Parav Pandit <parav@mellanox.com> wrote:

> To have consistent naming for the netdevice of a mdev and to have
> consistent naming of the devlink port [1] of a mdev, which is formed using
> phys_port_name of the devlink port, current UUID is not usable because
> UUID is too long.
> 
> UUID in string format is 36-characters long and in binary 128-bit.
> Both formats are not able to fit within 15 characters limit of netdev
> name.
> 
> It is desired to have mdev device naming consistent using UUID.
> So that widely used user space framework such as ovs [2] can make use
> of mdev representor in similar way as PCIe SR-IOV VF and PF representors.
> 
> Hence,
> (a) mdev alias is created which is derived using sha1 from the mdev name.
> (b) Vendor driver describes how long an alias should be for the child mdev
> created for a given parent.
> (c) Mdev aliases are unique at system level.
> (d) alias is created optionally whenever parent requested.
> This ensures that non networking mdev parents can function without alias
> creation overhead.
> 
> This design is discussed at [3].
> 
> An example systemd/udev extension will have,
> 
> 1. netdev name created using mdev alias available in sysfs.
> 
> mdev UUID=83b8f4f2-509f-382f-3c1e-e6bfe0fa1001
> mdev 12 character alias=cd5b146a80a5
> 
> netdev name of this mdev = enmcd5b146a80a5
> Here en = Ethernet link
> m = mediated device
> 
> 2. devlink port phys_port_name created using mdev alias.
> devlink phys_port_name=pcd5b146a80a5
> 
> This patchset enables mdev core to maintain unique alias for a mdev.
> 
> Patch-1 Introduces mdev alias using sha1.
> Patch-2 Ensures that mdev alias is unique in a system.
> Patch-3 Exposes mdev alias in a sysfs hirerchy, update Documentation
> Patch-4 Introduces mdev_alias() API.
> Patch-5 Extends mtty driver to optionally provide alias generation.
> This also enables to test UUID based sha1 collision and trigger
> error handling for duplicate sha1 results.
> 
> [1] http://man7.org/linux/man-pages/man8/devlink-port.8.html
> [2] https://docs.openstack.org/os-vif/latest/user/plugins/ovs.html
> [3] https://patchwork.kernel.org/cover/11084231/
> 
> ---
> Changelog:
> v2->v3:
>  - Addressed comment from Yunsheng Lin
>  - Changed strcmp() ==0 to !strcmp()
>  - Addressed comment from Cornelia Hunk
>  - Merged sysfs Documentation patch with syfs patch
>  - Added more description for alias return value
> v1->v2:
>  - Corrected a typo from 'and' to 'an'
>  - Addressed comments from Alex Williamson
>  - Kept mdev_device naturally aligned
>  - Added error checking for crypt_*() calls
>  - Moved alias NULL check at beginning
>  - Added mdev_alias() API
>  - Updated mtty driver to show example mdev_alias() usage
>  - Changed return type of generate_alias() from int to char*
> v0->v1:
>  - Addressed comments from Alex Williamson, Cornelia Hunk and Mark Bloch
>  - Moved alias length check outside of the parent lock
>  - Moved alias and digest allocation from kvzalloc to kzalloc
>  - &alias[0] changed to alias
>  - alias_length check is nested under get_alias_length callback check
>  - Changed comments to start with an empty line
>  - Added comment where alias memory ownership is handed over to mdev device
>  - Fixed cleaunup of hash if mdev_bus_register() fails
>  - Updated documentation for new sysfs alias file
>  - Improved commit logs to make description more clear
>  - Fixed inclusiong of alias for NULL check
>  - Added ratelimited debug print for sha1 hash collision error
> 
> Parav Pandit (5):
>   mdev: Introduce sha1 based mdev alias
>   mdev: Make mdev alias unique among all mdevs
>   mdev: Expose mdev alias in sysfs tree
>   mdev: Introduce an API mdev_alias
>   mtty: Optionally support mtty alias
> 
>  .../driver-api/vfio-mediated-device.rst       |   9 ++
>  drivers/vfio/mdev/mdev_core.c                 | 142 +++++++++++++++++-
>  drivers/vfio/mdev/mdev_private.h              |   5 +-
>  drivers/vfio/mdev/mdev_sysfs.c                |  26 +++-
>  include/linux/mdev.h                          |   5 +
>  samples/vfio-mdev/mtty.c                      |  13 ++
>  6 files changed, 190 insertions(+), 10 deletions(-)
> 

The patches on their own look sane (and I gave my R-b), but the
consumer of this new API should be ready before this is merged, as
already discussed below.

  parent reply	other threads:[~2019-09-17 10:14 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-26 20:41 [PATCH 0/4] Introduce variable length mdev alias Parav Pandit
2019-08-26 20:41 ` [PATCH 1/4] mdev: Introduce sha1 based " Parav Pandit
2019-08-27  1:44   ` Alex Williamson
2019-08-27  1:51     ` Alex Williamson
2019-08-27  4:24     ` Parav Pandit
2019-08-27 10:24   ` Cornelia Huck
2019-08-27 11:12     ` Parav Pandit
2019-08-27 11:24       ` Cornelia Huck
2019-08-27 11:33         ` Parav Pandit
2019-08-27 11:41           ` Cornelia Huck
2019-08-27 11:57             ` Parav Pandit
2019-08-27 13:35               ` Cornelia Huck
2019-08-27 16:50                 ` Alex Williamson
2019-08-27 11:16     ` Parav Pandit
2019-08-26 20:41 ` [PATCH 2/4] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-08-26 23:02   ` Mark Bloch
2019-08-27  4:28     ` Parav Pandit
2019-08-27 15:23       ` Alex Williamson
2019-08-27 16:16         ` Parav Pandit
2019-08-27 10:29   ` Cornelia Huck
2019-08-27 11:08     ` Parav Pandit
2019-08-27 11:29       ` Cornelia Huck
2019-08-27 15:28         ` Alex Williamson
2019-08-27 15:39           ` Cornelia Huck
2019-08-27 16:13           ` Parav Pandit
2019-08-27 16:24             ` Alex Williamson
2019-08-27 18:54               ` Parav Pandit
2019-08-26 20:41 ` [PATCH 3/4] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-08-27  1:53   ` Alex Williamson
2019-08-27  3:30     ` Parav Pandit
2019-08-27 10:47   ` Cornelia Huck
2019-08-27 11:07     ` Parav Pandit
2019-08-27 11:34       ` Cornelia Huck
2019-08-27 11:52         ` Parav Pandit
2019-08-27 11:55           ` Cornelia Huck
2019-08-27 12:00             ` Parav Pandit
2019-08-26 20:41 ` [PATCH 4/4] mtty: Optionally support mtty alias Parav Pandit
2019-08-27 13:11 ` [PATCH 0/4] Introduce variable length mdev alias Parav Pandit
2019-08-27 13:31   ` Cornelia Huck
2019-08-27 17:48   ` Alex Williamson
2019-08-27 18:11     ` Parav Pandit
2019-08-27 19:16 ` [PATCH v1 0/5] " Parav Pandit
2019-08-27 19:16   ` [PATCH v1 1/5] mdev: Introduce sha1 based " Parav Pandit
2019-08-28 21:25     ` Alex Williamson
2019-08-28 21:34       ` Alex Williamson
2019-08-29  9:07         ` Parav Pandit
2019-08-29  9:06       ` Parav Pandit
2019-08-27 19:16   ` [PATCH v1 2/5] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-08-28 21:36     ` Alex Williamson
2019-08-29  9:07       ` Parav Pandit
2019-08-27 19:16   ` [PATCH v1 3/5] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-08-27 19:16   ` [PATCH v1 4/5] mdev: Update sysfs documentation Parav Pandit
2019-08-27 19:16   ` [PATCH v1 5/5] mtty: Optionally support mtty alias Parav Pandit
2019-08-29 11:18 ` [PATCH v2 0/6] Introduce variable length mdev alias Parav Pandit
2019-08-29 11:18   ` [PATCH v2 1/6] mdev: Introduce sha1 based " Parav Pandit
2019-08-29 12:26     ` Yunsheng Lin
2019-08-30  2:27       ` Parav Pandit
2019-08-30  9:17     ` Cornelia Huck
2019-08-30 12:33       ` Parav Pandit
2019-08-30 12:39         ` Cornelia Huck
2019-08-30 12:58           ` Parav Pandit
2019-08-30 14:02             ` Cornelia Huck
2019-08-30 15:45               ` Parav Pandit
2019-09-02 14:46                 ` Cornelia Huck
2019-09-03  3:47                   ` Parav Pandit
2019-08-29 11:19   ` [PATCH v2 2/6] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-08-29 12:31     ` Yunsheng Lin
2019-08-30 12:40     ` Cornelia Huck
2019-08-30 12:59       ` Parav Pandit
2019-08-29 11:19   ` [PATCH v2 3/6] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-08-29 11:19   ` [PATCH v2 4/6] mdev: Introduce an API mdev_alias Parav Pandit
2019-08-29 11:19   ` [PATCH v2 5/6] mdev: Update sysfs documentation Parav Pandit
2019-08-30 12:49     ` Cornelia Huck
2019-08-30 13:10       ` Parav Pandit
2019-09-02 14:36         ` Cornelia Huck
2019-09-03  3:53           ` Parav Pandit
2019-08-29 11:19   ` [PATCH v2 6/6] mtty: Optionally support mtty alias Parav Pandit
2019-09-02  4:24 ` [PATCH v3 0/5] Introduce variable length mdev alias Parav Pandit
2019-09-02  4:24   ` [PATCH v3 1/5] mdev: Introduce sha1 based " Parav Pandit
2019-09-17 10:03     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 2/5] mdev: Make mdev alias unique among all mdevs Parav Pandit
2019-09-17 10:04     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 3/5] mdev: Expose mdev alias in sysfs tree Parav Pandit
2019-09-17 10:08     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 4/5] mdev: Introduce an API mdev_alias Parav Pandit
2019-09-17 10:10     ` Cornelia Huck
2019-09-02  4:24   ` [PATCH v3 5/5] mtty: Optionally support mtty alias Parav Pandit
2019-09-09 20:42   ` [PATCH v3 0/5] Introduce variable length mdev alias Parav Pandit
2019-09-11 13:56     ` Alex Williamson
2019-09-11 15:30       ` Parav Pandit
2019-09-11 16:29         ` Cornelia Huck
2019-09-11 16:38         ` Parav Pandit
2019-09-13 21:32           ` Alex Williamson
2019-09-13 23:19             ` Parav Pandit
2019-09-17 10:13   ` Cornelia Huck [this message]
2019-09-18 17:15     ` 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=20190917121357.02480c09.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=davem@davemloft.net \
    --cc=jiri@mellanox.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=parav@mellanox.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.