summaryrefslogtreecommitdiff
path: root/src/ipcpd/unicast/pff.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2020-02-16 13:42:18 +0100
committerSander Vrijders <sander@ouroboros.rocks>2020-02-16 18:32:21 +0100
commitaf8e7f78af9b13c2cf6615dc9eb6c52c51b2bc2c (patch)
treed9ff5e60b3bf8be2477b46ee98fc441c815cab63 /src/ipcpd/unicast/pff.c
parent52e44a55d3b12819a79566067ff0361854da5002 (diff)
downloadouroboros-af8e7f78af9b13c2cf6615dc9eb6c52c51b2bc2c.tar.gz
ouroboros-af8e7f78af9b13c2cf6615dc9eb6c52c51b2bc2c.zip
Add equal-cost multipath routing policy
This adds an equal-cost multipath routing policy to Ouroboros, based on Nick Aerts' code. When selected, flows will send packets over all paths with equal cost (hop count). Path selection is round-robin. It does not yet take into account flows that are down. Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/pff.c')
-rw-r--r--src/ipcpd/unicast/pff.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ipcpd/unicast/pff.c b/src/ipcpd/unicast/pff.c
index 4e380e05..19432972 100644
--- a/src/ipcpd/unicast/pff.c
+++ b/src/ipcpd/unicast/pff.c
@@ -28,6 +28,7 @@
#include "pff.h"
#include "pol-pff-ops.h"
#include "pol/alternate_pff.h"
+#include "pol/multipath_pff.h"
#include "pol/simple_pff.h"
struct pff {
@@ -52,6 +53,10 @@ struct pff * pff_create(enum pol_pff pol)
log_dbg("Using simple PFF policy.");
pff->ops = &simple_pff_ops;
break;
+ case PFF_MULTIPATH:
+ log_dbg("Using multipath PFF policy.");
+ pff->ops = &multipath_pff_ops;
+ break;
default:
goto err;
}