diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2020-02-16 13:42:18 +0100 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2020-02-16 18:32:21 +0100 |
commit | af8e7f78af9b13c2cf6615dc9eb6c52c51b2bc2c (patch) | |
tree | d9ff5e60b3bf8be2477b46ee98fc441c815cab63 /src/ipcpd/unicast/pol/simple_pff.c | |
parent | 52e44a55d3b12819a79566067ff0361854da5002 (diff) | |
download | ouroboros-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/pol/simple_pff.c')
-rw-r--r-- | src/ipcpd/unicast/pol/simple_pff.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/ipcpd/unicast/pol/simple_pff.c b/src/ipcpd/unicast/pol/simple_pff.c index c5780703..5bd73d8a 100644 --- a/src/ipcpd/unicast/pol/simple_pff.c +++ b/src/ipcpd/unicast/pol/simple_pff.c @@ -26,14 +26,14 @@ #include <ouroboros/errno.h> -#include <assert.h> -#include <pthread.h> - #include "pft.h" #include "simple_pff.h" +#include <assert.h> +#include <pthread.h> + struct pff_i { - struct pft * pft; + struct pft * pft; pthread_rwlock_t lock; }; @@ -101,6 +101,7 @@ int simple_pff_add(struct pff_i * pff_i, int * fds; assert(pff_i); + assert(fd); assert(len > 0); (void) len; @@ -127,6 +128,7 @@ int simple_pff_update(struct pff_i * pff_i, int * fds; assert(pff_i); + assert(fd); assert(len > 0); (void) len; |