l2fwd application exits, if return for rte_eth_promiscuous_enable is not success. But for vHost PMD, promiscuous enable returns "Not Supported". This patch validates success and no support of promiscuous enable. Signed-off-by: Sivaprasad Tummala <Sivaprasad.Tummala@intel.com> --- examples/l2fwd/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c index 09257aab1..ea9831f07 100644 --- a/examples/l2fwd/main.c +++ b/examples/l2fwd/main.c @@ -727,7 +727,7 @@ main(int argc, char **argv) printf("done: \n"); ret = rte_eth_promiscuous_enable(portid); - if (ret != 0) + if ((ret != 0) && (ret != -ENOTSUP)) rte_exit(EXIT_FAILURE, "rte_eth_promiscuous_enable:err=%s, port=%u\n", rte_strerror(-ret), portid); -- 2.17.1
On Wed, Feb 26, 2020 at 10:15 AM Sivaprasad Tummala
<Sivaprasad.Tummala@intel.com> wrote:
>
> l2fwd application exits, if return for rte_eth_promiscuous_enable
> is not success. But for vHost PMD, promiscuous enable returns "Not
> Supported".
Could the vhost pmd announce that it is already in promiscuous mode?
Like in f165210321c4 ("drivers/net: enable promiscuous and multicast
by default")
--
David Marchand
Hi, David On 02/26, David Marchand wrote: >On Wed, Feb 26, 2020 at 10:15 AM Sivaprasad Tummala ><Sivaprasad.Tummala@intel.com> wrote: >> >> l2fwd application exits, if return for rte_eth_promiscuous_enable >> is not success. But for vHost PMD, promiscuous enable returns "Not >> Supported". > >Could the vhost pmd announce that it is already in promiscuous mode? >Like in f165210321c4 ("drivers/net: enable promiscuous and multicast >by default") I think it makes sense, I don't see any risk of doing it. I'll cook a patch for it soon. Thanks, Xiaolong > > >-- >David Marchand >
With this patch, the promiscuous and multicast fields are initialized as enabled for vhost PMD by default, this allows the devices to be used when running applications that attempt to enable promiscuous or multicast mode. Similar things have done for other virtual PMDs by commit f165210321c4 ("drivers/net: enable promiscuous and multicast by default") Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com> --- drivers/net/vhost/rte_eth_vhost.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c index 458ed58f5..fcf317151 100644 --- a/drivers/net/vhost/rte_eth_vhost.c +++ b/drivers/net/vhost/rte_eth_vhost.c @@ -1331,6 +1331,8 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name, internal->disable_flags = disable_flags; data->dev_link = pmd_link; data->dev_flags = RTE_ETH_DEV_INTR_LSC | RTE_ETH_DEV_CLOSE_REMOVE; + data->promiscuous = 1; + data->all_multicast = 1; eth_dev->dev_ops = &ops; -- 2.17.1
On 2/26/20 2:45 PM, Xiaolong Ye wrote:
> With this patch, the promiscuous and multicast fields are initialized as
> enabled for vhost PMD by default, this allows the devices to be used when
> running applications that attempt to enable promiscuous or multicast mode.
> Similar things have done for other virtual PMDs by commit f165210321c4
> ("drivers/net: enable promiscuous and multicast by default")
>
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> ---
> drivers/net/vhost/rte_eth_vhost.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
> index 458ed58f5..fcf317151 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -1331,6 +1331,8 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
> internal->disable_flags = disable_flags;
> data->dev_link = pmd_link;
> data->dev_flags = RTE_ETH_DEV_INTR_LSC | RTE_ETH_DEV_CLOSE_REMOVE;
> + data->promiscuous = 1;
> + data->all_multicast = 1;
>
> eth_dev->dev_ops = &ops;
>
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
On 2/26/20 2:45 PM, Xiaolong Ye wrote:
> With this patch, the promiscuous and multicast fields are initialized as
> enabled for vhost PMD by default, this allows the devices to be used when
> running applications that attempt to enable promiscuous or multicast mode.
> Similar things have done for other virtual PMDs by commit f165210321c4
> ("drivers/net: enable promiscuous and multicast by default")
>
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
> ---
> drivers/net/vhost/rte_eth_vhost.c | 2 ++
> 1 file changed, 2 insertions(+)
Applied to dpdk-next-virtio/master.
Thanks,
Maxime
On Wed, Feb 26, 2020 at 2:46 PM Ye Xiaolong <xiaolong.ye@intel.com> wrote: > On 02/26, David Marchand wrote: > >On Wed, Feb 26, 2020 at 10:15 AM Sivaprasad Tummala > ><Sivaprasad.Tummala@intel.com> wrote: > >> > >> l2fwd application exits, if return for rte_eth_promiscuous_enable > >> is not success. But for vHost PMD, promiscuous enable returns "Not > >> Supported". > > > >Could the vhost pmd announce that it is already in promiscuous mode? > >Like in f165210321c4 ("drivers/net: enable promiscuous and multicast > >by default") > > I think it makes sense, I don't see any risk of doing it. I'll cook a patch > for it soon. Now that vhost has been fixed [1], I'll mark this patch as rejected. 1: https://git.dpdk.org/dpdk/commit?id=a2154606ffa6b5ddacbebd8714facc7e2fda3262 Thanks. -- David Marchand