0d0de133f0
Add support for creating a MACVLAN interface in "source" mode by specifying Mode=source in the [MACVLAN] section of a .netdev file. A list of allowed MAC addresses for the corresponding MACVLAN can also be specified with the SourceMACAddress= option of the [MACVLAN] section. An example .netdev file: [NetDev] Name=macvlan0 Kind=macvlan MACAddress=02:DE:AD:BE:EF:00 [MACVLAN] Mode=source SourceMACAddress=02:AB:AB:AB:AB:01 02:CD:CD:CD:CD:01 SourceMACAddress=02:EF:EF:EF:EF:01 The same keys can also be specified in [MACVTAP] for MACVTAP kinds of interfaces, with the same semantics.
18 lines
613 B
C
18 lines
613 B
C
/* SPDX-License-Identifier: LGPL-2.1+ */
|
|
#pragma once
|
|
|
|
#include <linux/if_link.h>
|
|
|
|
typedef enum MacVlanMode {
|
|
NETDEV_MACVLAN_MODE_PRIVATE = MACVLAN_MODE_PRIVATE,
|
|
NETDEV_MACVLAN_MODE_VEPA = MACVLAN_MODE_VEPA,
|
|
NETDEV_MACVLAN_MODE_BRIDGE = MACVLAN_MODE_BRIDGE,
|
|
NETDEV_MACVLAN_MODE_PASSTHRU = MACVLAN_MODE_PASSTHRU,
|
|
NETDEV_MACVLAN_MODE_SOURCE = MACVLAN_MODE_SOURCE,
|
|
_NETDEV_MACVLAN_MODE_MAX,
|
|
_NETDEV_MACVLAN_MODE_INVALID = -1
|
|
} MacVlanMode;
|
|
|
|
const char *macvlan_mode_to_string(MacVlanMode d) _const_;
|
|
MacVlanMode macvlan_mode_from_string(const char *d) _pure_;
|