From 45369c0ac4e1ad44ad78e4dafeae8da2eddb9dde Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Tue, 14 Jun 2016 11:47:36 +0200 Subject: [PATCH] interfaces: blacklist cdc_mbim This exposes a weird interface. --- src/daemon/interfaces-linux.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/daemon/interfaces-linux.c b/src/daemon/interfaces-linux.c index 6ac428f8..f6b75a42 100644 --- a/src/daemon/interfaces-linux.c +++ b/src/daemon/interfaces-linux.c @@ -717,6 +717,12 @@ iflinux_add_physical(struct lldpd *cfg, struct interfaces_device_list *interfaces) { struct interfaces_device *iface; + /* Blacklist some drivers */ + const char * const *rif; + const char * const blacklisted_drivers[] = { + "cdc_mbim", + NULL + }; TAILQ_FOREACH(iface, interfaces, next) { if (iface->type & (IFACE_VLAN_T| @@ -733,6 +739,20 @@ iflinux_add_physical(struct lldpd *cfg, continue; } + /* Check if the driver is not blacklisted */ + if (iface->driver) { + int skip = 0; + for (rif = blacklisted_drivers; *rif; rif++) { + if (strcmp(iface->driver, *rif) == 0) { + log_debug("interfaces", "skip %s: blacklisted driver", + iface->name); + skip = 1; + break; + } + } + if (skip) continue; + } + /* If the interface is linked to another one, skip it too. */ if (iface->lower && (!iface->driver || strcmp(iface->driver, "veth"))) { log_debug("interfaces", "skip %s: there is a lower interface (%s)", -- 2.39.5