• Herbert Xu's avatar
    macvlan: Avoid unnecessary multicast cloning · 9c127a01
    Herbert Xu authored
    Currently we always queue a multicast packet for further processing,
    even if none of the macvlan devices are subscribed to the address.
    
    This patch optimises this by adding a global multicast filter for
    a macvlan_port.
    
    Note that this patch doesn't handle the broadcast addresses of the
    individual macvlan devices correctly, if they are not all identical
    to vlan->lowerdev.  However, this is already broken because there
    is no mechanism in place to update the individual multicast filters
    when you change the broadcast address.
    
    If someone cares enough they should fix this by collecting all
    broadcast addresses for a macvlan as we do for multicast and unicast.
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9c127a01
macvlan.c 41.1 KB