On Mon, Feb 15, 2021 at 1:21 PM Christian Ehrhardt
<christian.ehrha...@canonical.com> wrote:
>
> On Fri, Feb 12, 2021 at 4:10 PM Dey, Souvik <so...@rbbn.com> wrote:
> >
> > From: Souvik Dey <so...@rbbn.com>
> >
> > [ upstream commit 493f0bb51c1144eedcff2bba199cab1b64ff9fd0 ]
>
> Thanks, added
>
> >
> > As the internal MAC table is divided into Unicast and Multicast address
> > sections, we should check the type of synched MAC address before storing
> > it to the internal table. Currently the check is not done, and the
> > synched MAC of 33:33:00:00:00:01 gets stored in the unicast section
> > (mostly index 1) causing all subsequent mlx5_set_mc_addr_list()
> > to fail with error -EADDRINUSE, as the mac_list contains the MAC
> > 33:33:00:00:00:01. This denies adding of any new multicast address to
> > the internal list and also fails to add the MAC address to the device
> > in case of SR-IOV VF.
> >
> > Fixes: f22442cb5d42 ("net/mlx5: reduce Netlink commands dependencies")
> > Fixes: ccdcba53a3f4 ("net/mlx5: use Netlink to add/remove MAC addresses")
> >
> > Signed-off-by: Souvik Dey <so...@rbbn.com>
> > ---
> >  drivers/net/mlx5/mlx5_nl.c | 21 ++++++++++++++++-----
> >  1 file changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/net/mlx5/mlx5_nl.c b/drivers/net/mlx5/mlx5_nl.c
> > index 64580b9..add756d 100644
> > --- a/drivers/net/mlx5/mlx5_nl.c
> > +++ b/drivers/net/mlx5/mlx5_nl.c
> > @@ -678,11 +678,22 @@ mlx5_nl_mac_addr_sync(struct rte_eth_dev *dev)
> >                                 break;
> >                 if (j != MLX5_MAX_MAC_ADDRESSES)
> >                         continue;
> > -               /* Find the first entry available. */
> > -               for (j = 0; j != MLX5_MAX_MAC_ADDRESSES; ++j) {
> > -                       if 
> > (rte_is_zero_ether_addr(&dev->data->mac_addrs[j])) {
> > -                               dev->data->mac_addrs[j] = macs[i];


When built this fails, thereby for now I've dequeued this from 19.11.7

[  708s] ../drivers/net/mlx5/mlx5_nl.c: In function ‘mlx5_nl_mac_addr_sync’:
[  708s] ../drivers/net/mlx5/mlx5_nl.c:685:33: error: ‘mac_addrs’
undeclared (first use in this function); did you mean ‘vec_adds’?
[  708s]      if (rte_is_zero_ether_addr(&mac_addrs[j])) {
[  708s]                                  ^~~~~~~~~
[  708s]                                  vec_adds
[  708s] ../drivers/net/mlx5/mlx5_nl.c:685:33: note: each undeclared
identifier is reported only once for each function it appears in
[  708s] ninja: build stopped: subcommand failed.

If you have a chance to refresh your backport with the 19.11 codebase
in mind that would be great.
Looking for an updated backport and thanks in advance.

> > -                               break;
> > +               if (rte_is_multicast_ether_addr(&macs[i])) {
> > +                       /* Find the first entry available. */
> > +                       for (j = MLX5_MAX_UC_MAC_ADDRESSES;
> > +                            j != MLX5_MAX_MAC_ADDRESSES; ++j) {
> > +                               if (rte_is_zero_ether_addr(&mac_addrs[j])) {
> > +                                       mac_addrs[j] = macs[i];
> > +                                       break;
> > +                               }
> > +                       }
> > +               } else {
> > +                       /* Find the first entry available. */
> > +                       for (j = 0; j != MLX5_MAX_UC_MAC_ADDRESSES; ++j) {
> > +                               if (rte_is_zero_ether_addr(&mac_addrs[j])) {
> > +                                       mac_addrs[j] = macs[i];
> > +                                       break;
> > +                               }
> >                         }
> >                 }
> >         }
> > --
> > 2.9.3.windows.1
> >
> >
> > Notice: This e-mail together with any attachments may contain information 
> > of Ribbon Communications Inc. and its Affiliates that is confidential 
> > and/or proprietary for the sole use of the intended recipient. Any review, 
> > disclosure, reliance or distribution by others or forwarding without 
> > express permission is strictly prohibited. If you are not the intended 
> > recipient, please notify the sender immediately and then delete all copies, 
> > including any attachments.
>
>
>
> --
> Christian Ehrhardt
> Staff Engineer, Ubuntu Server
> Canonical Ltd



-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd

Reply via email to