summaryrefslogtreecommitdiffstats
path: root/src/peer.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-03-23 04:40:56 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-03-23 04:40:56 +0100
commita5a7b233b728f6d26a9f593f0a47265465522f4b (patch)
tree55994836c4dc15c98c344345004c025e812c2282 /src/peer.c
parentc162b223b8965490839b4d56701a8f37d5304a71 (diff)
downloadfastd-a5a7b233b728f6d26a9f593f0a47265465522f4b.tar
fastd-a5a7b233b728f6d26a9f593f0a47265465522f4b.zip
peer: make interface name configurable per peer
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)