NetworkManager/src/core/devices/nm-device-ipvlan.h
Fernando Fernandez Mancera d238ff487b ipvlan: add support to IPVLAN interface
This patch add support to IPVLAN interface. IPVLAN is a driver for a
virtual network device that can be used in container environment to
access the host network. IPVLAN exposes a single MAC address to the
external network regardless the number of IPVLAN device created inside
the host network. This means that a user can have multiple IPVLAN
devices in multiple containers and the corresponding switch reads a
single MAC address. IPVLAN driver is useful when the local switch
imposes constraints on the total number of MAC addresses that it can
manage.
2024-09-18 13:19:42 +02:00

31 lines
1.2 KiB
C

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2024 Red Hat, Inc.
*/
#ifndef __NETWORKMANAGER_DEVICE_IPVLAN_H__
#define __NETWORKMANAGER_DEVICE_IPVLAN_H__
#include "nm-device.h"
#define NM_TYPE_DEVICE_IPVLAN (nm_device_ipvlan_get_type())
#define NM_DEVICE_IPVLAN(obj) \
(_NM_G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DEVICE_IPVLAN, NMDeviceIpvlan))
#define NM_DEVICE_IPVLAN_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DEVICE_IPVLAN, NMDeviceIpvlanClass))
#define NM_IS_DEVICE_IPVLAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DEVICE_IPVLAN))
#define NM_IS_DEVICE_IPVLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DEVICE_IPVLAN))
#define NM_DEVICE_IPVLAN_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DEVICE_IPVLAN, NMDeviceIpvlanClass))
#define NM_DEVICE_IPVLAN_PARENT "parent"
#define NM_DEVICE_IPVLAN_MODE "mode"
#define NM_DEVICE_IPVLAN_PRIVATE "private"
#define NM_DEVICE_IPVLAN_VEPA "vepa"
typedef struct _NMDeviceIpvlan NMDeviceIpvlan;
typedef struct _NMDeviceIpvlanClass NMDeviceIpvlanClass;
GType nm_device_ipvlan_get_type(void);
#endif /* __NETWORKMANAGER_DEVICE_IPVLAN_H__ */