mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-04 22:20:27 +01:00
interface-flags: expose NM_DEVICE_INTERFACE_FLAG_PROMISC
This patch is introducing NM_DEVICE_INTERFACE_FLAG_PROMISC in interface_flags. The flag represents IFF_PROMISC kernel flag. Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
This commit is contained in:
parent
afd8563eb2
commit
27e37a4b17
5 changed files with 15 additions and 1 deletions
|
|
@ -5289,6 +5289,8 @@ device_update_interface_flags(NMDevice *self, const NMPlatformLink *plink)
|
|||
flags |= NM_DEVICE_INTERFACE_FLAG_UP;
|
||||
if (plink && NM_FLAGS_HAS(plink->n_ifi_flags, IFF_LOWER_UP))
|
||||
flags |= NM_DEVICE_INTERFACE_FLAG_LOWER_UP;
|
||||
if (plink && NM_FLAGS_HAS(plink->n_ifi_flags, IFF_PROMISC))
|
||||
flags |= NM_DEVICE_INTERFACE_FLAG_PROMISC;
|
||||
|
||||
if (NM_FLAGS_ALL(priv->capabilities,
|
||||
NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_NONSTANDARD_CARRIER)) {
|
||||
|
|
@ -5301,7 +5303,8 @@ device_update_interface_flags(NMDevice *self, const NMPlatformLink *plink)
|
|||
|
||||
set_interface_flags_full(self,
|
||||
NM_DEVICE_INTERFACE_FLAG_UP | NM_DEVICE_INTERFACE_FLAG_LOWER_UP
|
||||
| NM_DEVICE_INTERFACE_FLAG_CARRIER,
|
||||
| NM_DEVICE_INTERFACE_FLAG_CARRIER
|
||||
| NM_DEVICE_INTERFACE_FLAG_PROMISC,
|
||||
flags,
|
||||
TRUE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,6 +101,7 @@ gboolean nm_utils_vlan_priority_map_parse_str(NMVlanPriorityMap map_type,
|
|||
#define _NM_DEVICE_INTERFACE_FLAG_ALL \
|
||||
((NMDeviceInterfaceFlags)(NM_DEVICE_INTERFACE_FLAG_UP | NM_DEVICE_INTERFACE_FLAG_LOWER_UP \
|
||||
| NM_DEVICE_INTERFACE_FLAG_CARRIER \
|
||||
| NM_DEVICE_INTERFACE_FLAG_PROMISC \
|
||||
| NM_DEVICE_INTERFACE_FLAG_LLDP_CLIENT_ENABLED))
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -1183,6 +1183,8 @@ typedef enum { /*< flags >*/
|
|||
* administrative point of view. Corresponds to kernel IFF_UP.
|
||||
* @NM_DEVICE_INTERFACE_FLAG_LOWER_UP: the physical link is up. Corresponds
|
||||
* to kernel IFF_LOWER_UP.
|
||||
* @NM_DEVICE_INTERFACE_FLAG_PROMISC: receive all packets. Corresponds to
|
||||
* kernel IFF_PROMISC. Since: 1.32.
|
||||
* @NM_DEVICE_INTERFACE_FLAG_CARRIER: the interface has carrier. In most
|
||||
* cases this is equal to the value of @NM_DEVICE_INTERFACE_FLAG_LOWER_UP.
|
||||
* However some devices have a non-standard carrier detection mechanism.
|
||||
|
|
@ -1198,6 +1200,7 @@ typedef enum { /*< flags >*/
|
|||
NM_DEVICE_INTERFACE_FLAG_NONE = 0, /*< skip >*/
|
||||
NM_DEVICE_INTERFACE_FLAG_UP = 0x1,
|
||||
NM_DEVICE_INTERFACE_FLAG_LOWER_UP = 0x2,
|
||||
NM_DEVICE_INTERFACE_FLAG_PROMISC = 0x4,
|
||||
/* NM-specific flags */
|
||||
NM_DEVICE_INTERFACE_FLAG_CARRIER = 0x10000,
|
||||
NM_DEVICE_INTERFACE_FLAG_LLDP_CLIENT_ENABLED = 0x20000,
|
||||
|
|
|
|||
|
|
@ -662,6 +662,9 @@ static gconstpointer
|
|||
case NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_CARRIER:
|
||||
return nmc_meta_generic_get_bool(NM_FLAGS_HAS(flags, NM_DEVICE_INTERFACE_FLAG_CARRIER),
|
||||
get_type);
|
||||
case NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_PROMISC:
|
||||
return nmc_meta_generic_get_bool(NM_FLAGS_HAS(flags, NM_DEVICE_INTERFACE_FLAG_PROMISC),
|
||||
get_type);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -685,6 +688,9 @@ const NmcMetaGenericInfo *const
|
|||
_METAGEN_DEVICE_DETAIL_INTERFACE_FLAGS(
|
||||
NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_CARRIER,
|
||||
"CARRIER"),
|
||||
_METAGEN_DEVICE_DETAIL_INTERFACE_FLAGS(
|
||||
NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_PROMISC,
|
||||
"PROMISC"),
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -231,6 +231,7 @@ typedef enum {
|
|||
NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_UP = 0,
|
||||
NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_LOWER_UP,
|
||||
NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_CARRIER,
|
||||
NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_PROMISC,
|
||||
_NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_INTERFACE_FLAGS_NUM,
|
||||
|
||||
} NmcGenericInfoType;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue