mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-18 01:08:08 +02:00
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.
31 lines
1.2 KiB
C
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__ */
|