diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-03-24 14:05:40 +0100 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-03-24 14:36:20 +0100 |
commit | 0ed6ef2567a8355013e2cd61a1a31df6be67ae01 (patch) | |
tree | 1967a00bfe73a11cafbee7a5e97173abd7699add /src/ipcpd/normal/pff.c | |
parent | 2ee56ae4d3c90b77d77e9be8e5e00832256e50de (diff) | |
download | ouroboros-0ed6ef2567a8355013e2cd61a1a31df6be67ae01.tar.gz ouroboros-0ed6ef2567a8355013e2cd61a1a31df6be67ae01.zip |
ipcpd: normal: Fill in forwarding table
The routing now takes the results of the routing table to fill in the
forwarding table, by going through the neighbors and filling in the
right fd.
Diffstat (limited to 'src/ipcpd/normal/pff.c')
-rw-r--r-- | src/ipcpd/normal/pff.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ipcpd/normal/pff.c b/src/ipcpd/normal/pff.c index 8cab7936..77c2c551 100644 --- a/src/ipcpd/normal/pff.c +++ b/src/ipcpd/normal/pff.c @@ -68,6 +68,16 @@ void pff_destroy(struct pff * instance) free(instance); } +void pff_lock(struct pff * instance) +{ + pthread_mutex_lock(&instance->lock); +} + +void pff_unlock(struct pff * instance) +{ + pthread_mutex_unlock(&instance->lock); +} + int pff_add(struct pff * instance, uint64_t addr, int fd) { int * val; @@ -132,6 +142,15 @@ int pff_remove(struct pff * instance, uint64_t addr) return 0; } +void pff_flush(struct pff * instance) +{ + assert(instance); + + pthread_mutex_lock(&instance->lock); + htable_flush(instance->table); + pthread_mutex_unlock(&instance->lock); +} + int pff_nhop(struct pff * instance, uint64_t addr) { int * j; |