summaryrefslogtreecommitdiffstats
path: root/src/peer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/peer.c')
-rw-r--r--src/peer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/peer.c b/src/peer.c
index 5bcc030..9964559 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -30,6 +30,7 @@
*/
#include "peer.h"
+#include "config.h"
#include "peer_hashtable.h"
#include "poll.h"
@@ -382,7 +383,12 @@ static void setup_peer(fastd_peer_t *peer) {
peer->iface = ctx.iface;
}
else if (conf.iface_persist && !peer->iface) {
- peer->iface = fastd_iface_open(conf.ifname, peer);
+ const char *ifname = peer->ifname;
+
+ if (!ifname && fastd_config_single_iface())
+ ifname = conf.ifname;
+
+ peer->iface = fastd_iface_open(ifname, peer);
if (peer->iface)
fastd_on_up(peer->iface);
else if (!peer->config_source_dir)