summaryrefslogtreecommitdiff
path: root/ripd/rip_offset.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2019-01-04 19:08:10 -0200
committerRenato Westphal <renato@opensourcerouting.org>2019-01-18 16:15:41 -0200
commit3f21c8c4cb57a1c3f645be77dfa8e860019daf6c (patch)
treed918f4aa314a8588d272b58b5a21ac9050377a94 /ripd/rip_offset.c
parent29e897ad333790601929c09904a7e2ff146bcf55 (diff)
ripd: move "rip_offset_list_master" to the rip structure
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'ripd/rip_offset.c')
-rw-r--r--ripd/rip_offset.c27
1 files changed, 4 insertions, 23 deletions
diff --git a/ripd/rip_offset.c b/ripd/rip_offset.c
index 418ec3fc7b..94dc175d14 100644
--- a/ripd/rip_offset.c
+++ b/ripd/rip_offset.c
@@ -29,8 +29,6 @@
#include "ripd/ripd.h"
-static struct list *rip_offset_list_master;
-
#define OFFSET_LIST_IN_NAME(O) ((O)->direct[RIP_OFFSET_LIST_IN].alist_name)
#define OFFSET_LIST_IN_METRIC(O) ((O)->direct[RIP_OFFSET_LIST_IN].metric)
@@ -43,14 +41,14 @@ struct rip_offset_list *rip_offset_list_new(const char *ifname)
offset = XCALLOC(MTYPE_RIP_OFFSET_LIST, sizeof(struct rip_offset_list));
offset->ifname = strdup(ifname);
- listnode_add_sort(rip_offset_list_master, offset);
+ listnode_add_sort(rip->offset_list_master, offset);
return offset;
}
void offset_list_del(struct rip_offset_list *offset)
{
- listnode_delete(rip_offset_list_master, offset);
+ listnode_delete(rip->offset_list_master, offset);
if (OFFSET_LIST_IN_NAME(offset))
free(OFFSET_LIST_IN_NAME(offset));
if (OFFSET_LIST_OUT_NAME(offset))
@@ -64,7 +62,7 @@ struct rip_offset_list *rip_offset_list_lookup(const char *ifname)
struct rip_offset_list *offset;
struct listnode *node, *nnode;
- for (ALL_LIST_ELEMENTS(rip_offset_list_master, node, nnode, offset)) {
+ for (ALL_LIST_ELEMENTS(rip->offset_list_master, node, nnode, offset)) {
if (strcmp(offset->ifname, ifname) == 0)
return offset;
}
@@ -146,24 +144,7 @@ int rip_offset_list_apply_out(struct prefix_ipv4 *p, struct interface *ifp,
return 0;
}
-static int offset_list_cmp(struct rip_offset_list *o1,
- struct rip_offset_list *o2)
+int offset_list_cmp(struct rip_offset_list *o1, struct rip_offset_list *o2)
{
return strcmp(o1->ifname, o2->ifname);
}
-
-void rip_offset_init()
-{
- rip_offset_list_master = list_new();
- rip_offset_list_master->cmp = (int (*)(void *, void *))offset_list_cmp;
- rip_offset_list_master->del = (void (*)(void *))offset_list_del;
-}
-
-void rip_offset_clean()
-{
- list_delete(&rip_offset_list_master);
-
- rip_offset_list_master = list_new();
- rip_offset_list_master->cmp = (int (*)(void *, void *))offset_list_cmp;
- rip_offset_list_master->del = (void (*)(void *))offset_list_del;
-}