lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 22 Jun 2017 17:50:29 +0300
From:   Or Gerlitz <gerlitz.or@...il.com>
To:     Simon Horman <simon.horman@...ronome.com>
Cc:     David Miller <davem@...emloft.net>,
        Jakub Kicinski <jakub.kicinski@...ronome.com>,
        Linux Netdev List <netdev@...r.kernel.org>,
        oss-drivers@...ronome.com
Subject: Re: [PATCH net-next v2 12/12] nfp: add VF and PF representors to
 flower app

On Wed, Jun 21, 2017 at 12:36 AM, Simon Horman
<simon.horman@...ronome.com> wrote:
> Initialise VF and PF representors in flower app.
>
> Based in part on work by Benjamin LaHaise, Bert van Leeuwen and
> Jakub Kicinski.
>
> Signed-off-by: Simon Horman <simon.horman@...ronome.com>
> Reviewed-by: Jakub Kicinski <jakub.kicinski@...ronome.com>
> ---
>  drivers/net/ethernet/netronome/nfp/flower/main.c | 86 +++++++++++++++++++++++-
>  1 file changed, 84 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/netronome/nfp/flower/main.c b/drivers/net/ethernet/netronome/nfp/flower/main.c
> index d1d905727c54..582b7be3e219 100644
> --- a/drivers/net/ethernet/netronome/nfp/flower/main.c
> +++ b/drivers/net/ethernet/netronome/nfp/flower/main.c
> @@ -149,15 +149,81 @@ static const struct net_device_ops nfp_flower_repr_netdev_ops = {
>         .ndo_get_offload_stats  = nfp_repr_get_offload_stats,
>  };
>
> +static void nfp_flower_sriov_disable(struct nfp_app *app)
> +{
> +       nfp_reprs_clean_and_free_by_type(app, NFP_REPR_TYPE_VF);
> +}
> +
> +static int
> +nfp_flower_spawn_vnic_reprs(struct nfp_app *app,
> +                           enum nfp_flower_cmsg_port_vnic_type vnic_type,
> +                           enum nfp_repr_type repr_type, unsigned int cnt)
> +{
> +       u8 nfp_pcie = nfp_cppcore_pcie_unit(app->pf->cpp);
> +       struct nfp_flower_priv *priv = app->priv;
> +       struct nfp_reprs *reprs, *old_reprs;
> +       const u8 queue = 0;
> +       int i, err;
> +
> +       reprs = nfp_reprs_alloc(cnt);
> +       if (!reprs)
> +               return -ENOMEM;
> +
> +       for (i = 0; i < cnt; i++) {
> +               u32 port_id;
> +
> +               reprs->reprs[i] = nfp_repr_alloc(app);
> +               if (!reprs->reprs[i]) {
> +                       err = -ENOMEM;
> +                       goto err_reprs_clean;
> +               }
> +
> +               SET_NETDEV_DEV(reprs->reprs[i], &priv->nn->pdev->dev);

why? these are virtual devices, in the same manner that on para virt use case,
tap devices are. Why we want them all to be linked to the PF PCI entry?

We had that on our code and removed it before upstreaming b/c it made
provisioning
systems (open-stack) to get crazy and didn't provide any benefit.

I would vote -1 for this line, suggest to remove it and see later
if/why you need that.

> +               eth_hw_addr_inherit(reprs->reprs[i], priv->nn->dp.netdev);

-1 vote here too.. having all your reps to carry the PF mac would
create confusion for provisioning
systems, DHCP daemons and such. We are following the para virt way and
set random
mac on the rep, which would be later changed by libvirt as done for tap devices

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ