• Jason Wang's avatar
    virtio-net: send gratuitous packets when needed · 586d17c5
    Jason Wang authored
    As hypervior does not have the knowledge of guest network configuration, it's
    better to ask guest to send gratuitous packets when needed.
    
    This patch implements VIRTIO_NET_F_GUEST_ANNOUNCE feature: hypervisor would
    notice the guest when it thinks it's time for guest to announce the link
    presnece. Guest tests VIRTIO_NET_S_ANNOUNCE bit during config change interrupt
    and woule send gratuitous packets through netif_notify_peers() and ack the
    notification through ctrl vq.
    
    We need to make sure the atomicy of read and ack in guest otherwise we may ack
    more times than being notified. This is done through handling the whole config
    change interrupt in an non-reentrant workqueue.
    Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
    Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    586d17c5
virtio_net.c 33 KB