• Alexander Duyck's avatar
    macvlan: Use software path for offloaded local, broadcast, and multicast traffic · 81d4e91c
    Alexander Duyck authored
    This change makes it so that we use a software path for packets that are
    going to be locally switched between two macvlan interfaces on the same
    device. In addition we resort to software replication of broadcast and
    multicast packets instead of offloading that to hardware.
    
    The general idea is that using the device for east/west traffic local to
    the system is extremely inefficient. We can only support up to whatever the
    PCIe limit is for any given device so this caps us at somewhere around 20G
    for devices supported by ixgbe. This is compounded even further when you
    take broadcast and multicast into account as a single 10G port can come to
    a crawl as a packet is replicated up to 60+ times in some cases. In order
    to get away from that I am implementing changes so that we handle
    broadcast/multicast replication and east/west local traffic all in
    software.
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    81d4e91c
macvlan.c 43.8 KB