Re: [V4 PATCH] virtio-net: send gratuitous packet when needed

From: Michael S. Tsirkin
Date: Mon Mar 19 2012 - 04:44:37 EST


On Mon, Mar 19, 2012 at 12:46:29PM +1030, Rusty Russell wrote:
> On Tue, 13 Mar 2012 16:33:31 +0200, "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
> > > diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
> > > index 970d5a2..44a38d6 100644
> > > --- a/include/linux/virtio_net.h
> > > +++ b/include/linux/virtio_net.h
> > > @@ -49,8 +49,10 @@
> > > #define VIRTIO_NET_F_CTRL_RX 18 /* Control channel RX mode support */
> > > #define VIRTIO_NET_F_CTRL_VLAN 19 /* Control channel VLAN filtering */
> > > #define VIRTIO_NET_F_CTRL_RX_EXTRA 20 /* Extra RX mode control support */
> > > +#define VIRTIO_NET_F_GUEST_ANNOUNCE 21 /* Guest can send gratituous packet */
> > >
> > > #define VIRTIO_NET_S_LINK_UP 1 /* Link is up */
> > > +#define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */
> >
> > I would put this in bit 8 (0x100), this way low status byte
> > is RO, high byte is RW.
>
> The whole idea of acking by clearing the bit is unreliable, moving to a
> separate byte just controls the damage.
>
> How about you use bits 8-15 as a counter? It's still theoretically
> unreliable if 256 notifications pass before the guest notices, but it's
> probably better and clearer than this.
>
> I leave the final call to MST though.
>
> Thanks,
> Rusty.

I guess the point was that we want a single packet
so we don't care if multiple notifications are coalesced
into a single one.

> --
> How could I marry someone with more hair than me? http://baldalex.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/