summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/pff.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipcpd/normal/pff.c')
-rw-r--r--src/ipcpd/normal/pff.c127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/ipcpd/normal/pff.c b/src/ipcpd/normal/pff.c
deleted file mode 100644
index 5b1fa429..00000000
--- a/src/ipcpd/normal/pff.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Ouroboros - Copyright (C) 2016 - 2019
- *
- * PDU Forwarding Function
- *
- * Dimitri Staessens <[email protected]>
- * Sander Vrijders <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., http://www.fsf.org/about/contact/.
- */
-
-#define OUROBOROS_PREFIX "pff"
-
-#include <ouroboros/errno.h>
-#include <ouroboros/logs.h>
-
-#include "pff.h"
-#include "pol-pff-ops.h"
-#include "pol/alternate_pff.h"
-#include "pol/simple_pff.h"
-
-struct pff {
- struct pol_pff_ops * ops;
- struct pff_i * pff_i;
-};
-
-struct pff * pff_create(enum pol_pff pol)
-{
- struct pff * pff;
-
- pff = malloc(sizeof(*pff));
- if (pff == NULL)
- return NULL;
-
- switch (pol) {
- case PFF_ALTERNATE:
- log_dbg("Using alternate PFF policy.");
- pff->ops = &alternate_pff_ops;
- break;
- case PFF_SIMPLE:
- log_dbg("Using simple PFF policy.");
- pff->ops = &simple_pff_ops;
- break;
- default:
- goto err;
- }
-
- pff->pff_i = pff->ops->create();
- if (pff->pff_i == NULL)
- goto err;
-
- return pff;
- err:
- free(pff);
- return NULL;
-}
-
-void pff_destroy(struct pff * pff)
-{
- pff->ops->destroy(pff->pff_i);
-
- free(pff);
-}
-
-void pff_lock(struct pff * pff)
-{
- return pff->ops->lock(pff->pff_i);
-}
-
-void pff_unlock(struct pff * pff)
-{
- return pff->ops->unlock(pff->pff_i);
-}
-
-int pff_add(struct pff * pff,
- uint64_t addr,
- int * fd,
- size_t len)
-{
- return pff->ops->add(pff->pff_i, addr, fd, len);
-}
-
-int pff_update(struct pff * pff,
- uint64_t addr,
- int * fd,
- size_t len)
-{
- return pff->ops->update(pff->pff_i, addr, fd, len);
-}
-
-int pff_del(struct pff * pff,
- uint64_t addr)
-{
- return pff->ops->del(pff->pff_i, addr);
-}
-
-void pff_flush(struct pff * pff)
-{
- return pff->ops->flush(pff->pff_i);
-}
-
-int pff_nhop(struct pff * pff,
- uint64_t addr)
-{
- return pff->ops->nhop(pff->pff_i, addr);
-}
-
-int pff_flow_state_change(struct pff * pff,
- int fd,
- bool up)
-{
- if (pff->ops->flow_state_change != NULL)
- return pff->ops->flow_state_change(pff->pff_i, fd, up);
-
- return 0;
-}