drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 3 +++ 1 file changed, 3 insertions(+)
In the receive_filter(), should not drop the packet with the
broadcast/multicast address. Add the check for this
Signed-off-by: Cindy Lu <lulu@redhat.com>
---
drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim_net.c b/drivers/vdpa/vdpa_sim/vdpa_sim_net.c
index c3cb225ea469..0f4739c31eea 100644
--- a/drivers/vdpa/vdpa_sim/vdpa_sim_net.c
+++ b/drivers/vdpa/vdpa_sim/vdpa_sim_net.c
@@ -62,6 +62,9 @@ static bool receive_filter(struct vdpasim *vdpasim, size_t len)
if (len < ETH_ALEN + hdr_len)
return false;
+ if (is_broadcast_ether_addr(vdpasim->buffer + hdr_len) ||
+ is_multicast_ether_addr(vdpasim->buffer + hdr_len))
+ return true;
if (!strncmp(vdpasim->buffer + hdr_len, vio_config->mac, ETH_ALEN))
return true;
--
2.34.3
On Wed, Dec 14, 2022 at 1:43 PM Cindy Lu <lulu@redhat.com> wrote: > > In the receive_filter(), should not drop the packet with the > broadcast/multicast address. Add the check for this > > Signed-off-by: Cindy Lu <lulu@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com> Thanks > --- > drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim_net.c b/drivers/vdpa/vdpa_sim/vdpa_sim_net.c > index c3cb225ea469..0f4739c31eea 100644 > --- a/drivers/vdpa/vdpa_sim/vdpa_sim_net.c > +++ b/drivers/vdpa/vdpa_sim/vdpa_sim_net.c > @@ -62,6 +62,9 @@ static bool receive_filter(struct vdpasim *vdpasim, size_t len) > if (len < ETH_ALEN + hdr_len) > return false; > > + if (is_broadcast_ether_addr(vdpasim->buffer + hdr_len) || > + is_multicast_ether_addr(vdpasim->buffer + hdr_len)) > + return true; > if (!strncmp(vdpasim->buffer + hdr_len, vio_config->mac, ETH_ALEN)) > return true; > > -- > 2.34.3 >
© 2016 - 2025 Red Hat, Inc.