diff options
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; |