aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-08-14 17:26:08 +0200
committerTobias Brunner <tobias@strongswan.org>2017-08-23 12:10:39 +0200
commit062a34e722e4162d5d163153a7450759bcdede6f (patch)
tree0ed48e9f04bc8130ed3548b1a72f40b0fe7e3162 /src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
parentb7ad5f777ffc36897b71ee7419da19d286f5cc55 (diff)
downloadstrongswan-062a34e722e4162d5d163153a7450759bcdede6f.tar.bz2
strongswan-062a34e722e4162d5d163153a7450759bcdede6f.tar.xz
kernel-netlink: Set usable state whenever an interface appears
If an interface is renamed we already have an entry (based on the ifindex) allocated but previously only set the usable state once based on the original name. Fixes #2403.
Diffstat (limited to 'src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c')
-rw-r--r--src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
index 0dd3e30cb..a21d0ae7f 100644
--- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
+++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c
@@ -1183,13 +1183,13 @@ static void process_link(private_kernel_netlink_net_t *this,
INIT(entry,
.ifindex = msg->ifi_index,
.addrs = linked_list_create(),
- .usable = charon->kernel->is_interface_usable(
- charon->kernel, name),
);
this->ifaces->insert_last(this->ifaces, entry);
}
strncpy(entry->ifname, name, IFNAMSIZ);
entry->ifname[IFNAMSIZ-1] = '\0';
+ entry->usable = charon->kernel->is_interface_usable(charon->kernel,
+ name);
if (event && entry->usable)
{
if (!(entry->flags & IFF_UP) && (msg->ifi_flags & IFF_UP))