[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] public/io/netif.h: change semantics of "request-multicast-control" flag
On Wed, 2016-01-20 at 12:50 +0000, Paul Durrant wrote: > My patch b2700877 "move and amend multicast control documentation" > clarified use of the multicast control protocol between frontend and > backend. However, it transpires that the restrictions that documentation > placed on the "request-multicast-control" flag make it hard for a > frontend to enable 'all multicast' promiscuous mode, in that to do so > would require the frontend and backend to disconnect and re-connect. > > This patch adds a new "feature-dynamic-multicast-control" flag to allow > a backend to advertise that it will watch "request-multicast-control" hence > allowing it to be meaningfully modified by the frontend at any time rather > than only when the frontend and backend are disconnected. > > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > Cc: Jan Beulich <jbeulich@xxxxxxxx> > Cc: Keir Fraser <keir@xxxxxxx> > Cc: Tim Deegan <tim@xxxxxxx> This looks good to me, but also adding Wei (Linux netback + BSD stuff) and Roger (BSD stuff) for their perspective. I should probably have done that for the last set of netif.h changes too, since apart from the nominal maintainers of xen/include/public/io/*.h it's worth getting input from the maintainers of the consumers. Not sure we can express that very well in MAINTAINERS :-(. Ian. > --- > Âxen/include/public/io/netif.h | 34 ++++++++++++++++++++++------------ > Â1 file changed, 22 insertions(+), 12 deletions(-) > > diff --git a/xen/include/public/io/netif.h > b/xen/include/public/io/netif.h > index fe0a87f..8816e0f 100644 > --- a/xen/include/public/io/netif.h > +++ b/xen/include/public/io/netif.h > @@ -136,18 +136,28 @@ > Â */ > Â > Â/* > - * "feature-multicast-control" advertises the capability to filter ethernet > - * multicast packets in the backend. To enable use of this capability the > - * frontend must set "request-multicast-control" before moving into the > - * connected state. > - * > - * If "request-multicast-control" is set then the backend transmit side > should > - * no longer flood multicast packets to the frontend, it should instead drop > any > - * multicast packet that does not match in a filter list. The list is > - * amended by the frontend by sending dummy transmit requests containing > - * XEN_NETIF_EXTRA_TYPE_MCAST_{ADD,DEL} extra-info fragments as specified > below. > - * Once enabled by the frontend, the feature cannot be disabled except by > - * closing and re-connecting to the backend. > + * "feature-multicast-control" and "feature-dynamic-multicast-control" > + * advertise the capability to filter ethernet multicast packets in the > + * backend. If the frontend wishes to take advantage of this feature then > + * it may set "request-multicast-control". If the backend only advertises > + * "feature-multicast-control" then "request-multicast-control" must be set > + * before the frontend moves into the connected state. The backend will > + * sample the value on this state transition and any subsequent change in > + * value will have no effect. However, if the backend also advertises > + * "feature-dynamic-multicast-control" then "request-multicast-control" > + * may be set by the frontend at any time. In this case, the backend will > + * watch the value and re-sample on watch events. > + * > + * If the sampled value of "request-multicast-control" is set then the > + * backend transmit side should no longer flood multicast packets to the > + * frontend, it should instead drop any multicast packet that does not > + * match in a filter list. > + * The list is amended by the frontend by sending dummy transmit requests > + * containing XEN_NETIF_EXTRA_TYPE_MCAST_{ADD,DEL} extra-info fragments as > + * specified below. > + * Note that the filter list may be amended even if the sampled value of > + * "request-multicast-control" is not set, however the filter should only > + * be applied if it is set. > Â */ > Â > Â/* _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |