summaryrefslogtreecommitdiffstats
path: root/src/config.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-03-24 03:36:49 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-03-24 03:36:49 +0100
commit9ef4d441ad91ebcbc68bdae309122f128ed69f56 (patch)
treea3162fd43e77ce9c83eadf8ef4cfb92918df4615 /src/config.c
parent14a991a1ced945db09e53a1e6dd0a7b2a052cfba (diff)
downloadfastd-9ef4d441ad91ebcbc68bdae309122f128ed69f56.tar
fastd-9ef4d441ad91ebcbc68bdae309122f128ed69f56.zip
Add support for defining the MTU per peer
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 9ab2f88..4b9aeec 100644
--- a/src/config.c
+++ b/src/config.c
@@ -609,6 +609,7 @@ static void peer_dirs_read_peer_group(fastd_peer_group_t *group) {
/** Initializes the configured peers */
static void configure_peers(bool dirs_only) {
ctx.has_floating = false;
+ ctx.max_mtu = conf.mtu;
ssize_t i;
for (i = VECTOR_LEN(ctx.peers)-1; i >= 0; i--) {
@@ -634,6 +635,9 @@ static void configure_peers(bool dirs_only) {
if (fastd_peer_is_floating(peer))
ctx.has_floating = true;
+ if (conf.mode != MODE_TAP && peer->mtu > ctx.max_mtu)
+ ctx.max_mtu = peer->mtu;
+
peer->config_state = CONFIG_STATIC;
if (!fastd_peer_is_established(peer)) {