• John Fastabend's avatar
    macvlan: add FDB bridge ops and macvlan flags · df8ef8f3
    John Fastabend authored
    This adds FDB bridge ops to the macvlan device passthru mode.
    Additionally a flags field was added and a NOPROMISC bit to
    allow users to use passthru mode without the driver calling
    dev_set_promiscuity(). The flags field is a u16 placed in a
    4 byte hole (consuming 2 bytes) of the macvlan_dev struct.
    
    We want to do this so that the macvlan driver or stack
    above the macvlan driver does not have to process every
    packet. For the use case where we know all the MAC addresses
    of the endstations above us this works well.
    
    This patch is a result of Roopa Prabhu's work. Follow up
    patches are needed for VEPA and VEB macvlan modes.
    
    v2: Change from distinct nopromisc mode to a flags field to
        configure this. This avoids the tendency to add a new
        mode every time we need some slightly different behavior.
    v3: fix error in dev_set_promiscuity and add change and get
        link attributes for flags.
    
    CC: Roopa Prabhu <roprabhu@cisco.com>
    CC: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    df8ef8f3
macvlan.c 23.8 KB