• Arnd Bergmann's avatar
    iproute2/iplink: add macvlan options for bridge mode · d63a9b2b
    Arnd Bergmann authored
    Macvlan can now optionally support forwarding between its
    ports, if they are in "bridge" mode. This adds support
    for this option to "ip link add", "ip link set" and "ip
    -d link show".
    
    The default mode in the kernel is now "vepa" mode, meaning
    "virtual ethernet port aggregator". This mode is used
    together with the "hairpin" mode of an ethernet bridge
    that the parent of the macvlan device is connected to.
    All frames still get sent out to the external interface,
    but the adjacent bridge is able to send them back on
    the same wire in hairpin mode, so the macvlan ports
    are able to see each other, which the bridge can be
    configured to monitor and control traffic between
    all macvlan instances. Multicast traffic coming in
    from the external interface is checked for the source
    MAC address and only delivered to ports that have not
    yet seen it.
    
    In bridge mode, macvlan will send all multicast traffic
    to other interfaces that are also in bridge mode but
    not to those in vepa mode, which get them on the way
    back from the hairpin.
    
    The third supported mode is "private", which prevents
    communication between macvlans even if the adjacent
    bridge is in hairpin mode. This behavior is closer to
    the original implementation of macvlan but stricly
    maintains isolation.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    d63a9b2b
iplink_macvlan.c 2.13 KB