Subject: Re: [Xen-devel] [PATCH v2 net-next] xen-netback: add support for multicast control

From: Ian Campbell <[email-masked]>
Date: Thu, 3 Sep 2015 10:31:22 +0100

On Thu, 2015-09-03 at 10:00 +0100, Paul Durrant wrote:
> > 
> > -----Original Message-----
> > From: Jan Beulich [mailto:[email-masked]]
> > Sent: 03 September 2015 09:57
> > To: Paul Durrant
> > Cc: Ian Campbell; Wei Liu; [email-masked];
> > [email-masked]
> > Subject: Re: [Xen-devel] [PATCH v2 net-next] xen-netback: add support 
> > for
> > multicast control
> > 
> > > > > On 02.09.15 at 18:58, <[email-masked]> wrote:
> > > @@ -1215,6 +1289,31 @@ static void xenvif_tx_build_gops(struct
> > xenvif_queue *queue,
> > >  				break;
> > >  		}
> > > 
> > > +		if (extras[XEN_NETIF_EXTRA_TYPE_MCAST_ADD - 1].type) 
> > > {
> > > +			struct xen_netif_extra_info *extra;
> > > +
> > > +			extra =
> > &extras[XEN_NETIF_EXTRA_TYPE_MCAST_ADD - 1];
> > > +			ret = xenvif_mcast_add(queue->vif, extra-
> > > u.mcast.addr);
> > 
> > What's the reason this call isn't gated on vif->multicast_control?
> > 
> 
> No particular reason. I guess it eats a small amount of memory for no 
> gain but a well behaved frontend wouldn't send such a request and a 
> malicious one can only send 64 of them before netback starts to reject 
> them.

Perhaps a confused guest might submit them thinking they would work when
actually the feature hasn't been properly negotiated and since it would
succeed it wouldn't generate an error on the guest side?

(A bit of a niche corner case I confess...)