diff options
Diffstat (limited to 'hicn-light/src/hicn/processor')
-rw-r--r-- | hicn-light/src/hicn/processor/fib.c | 5 | ||||
-rw-r--r-- | hicn-light/src/hicn/processor/fibEntry.c | 10 | ||||
-rw-r--r-- | hicn-light/src/hicn/processor/fibEntry.h | 11 | ||||
-rw-r--r-- | hicn-light/src/hicn/processor/messageProcessor.c | 1 |
4 files changed, 13 insertions, 14 deletions
diff --git a/hicn-light/src/hicn/processor/fib.c b/hicn-light/src/hicn/processor/fib.c index 8822134fe..de0d1e2ef 100644 --- a/hicn-light/src/hicn/processor/fib.c +++ b/hicn-light/src/hicn/processor/fib.c @@ -236,6 +236,8 @@ void fib_Add(FIB *fib, FibEntry *entry) { inner_node ->right = curr; } fib->size ++; + + name_Release(&inner_prefix); } FibEntry *fib_Contains(const FIB *fib, const Name *prefix) { @@ -431,6 +433,9 @@ void fib_Remove(FIB *fib, const Name *name, unsigned connId) { _removeNode(fib, name); #endif /* WITH_MAPME */ + // XXX We never release the FIB entry here it seems, including the inner + // prefix + } void _removeConnectionId(FibNode *n, unsigned connectionId, diff --git a/hicn-light/src/hicn/processor/fibEntry.c b/hicn-light/src/hicn/processor/fibEntry.c index 077e33ff3..7412b4ccf 100644 --- a/hicn-light/src/hicn/processor/fibEntry.c +++ b/hicn-light/src/hicn/processor/fibEntry.c @@ -55,7 +55,7 @@ struct fib_entry { #ifdef WITH_POLICY NumberSet *nexthops; const Forwarder * forwarder; - policy_t policy; + hicn_policy_t policy; policy_counters_t policy_counters; // NumberSet *available_nexthops; #ifdef WITH_MAPME @@ -198,7 +198,7 @@ fibEntry_GetAvailableNextHops(const FibEntry *fibEntry, unsigned in_connection) ConnectionTable * table = forwarder_GetConnectionTable(fibEntry->forwarder); NumberSet * nexthops; bool dealloc_nexthops = false; - policy_t policy = fibEntry_GetPolicy(fibEntry); + hicn_policy_t policy = fibEntry_GetPolicy(fibEntry); /* Reset available next hops and start filtering */ NumberSet * available_nexthops = numberSet_Create(); @@ -465,11 +465,11 @@ fibEntry_GetAvailableNextHops(const FibEntry *fibEntry, unsigned in_connection) return priority_nexthops; } -policy_t fibEntry_GetPolicy(const FibEntry *fibEntry) { +hicn_policy_t fibEntry_GetPolicy(const FibEntry *fibEntry) { return fibEntry->policy; } -void fibEntry_SetPolicy(FibEntry *fibEntry, policy_t policy) { +void fibEntry_SetPolicy(FibEntry *fibEntry, hicn_policy_t policy) { fibEntry->policy = policy; mapme_reconsiderFibEntry(forwarder_getMapmeInstance(fibEntry->forwarder), fibEntry); } @@ -541,7 +541,7 @@ const NumberSet *fibEntry_GetNexthopsFromForwardingStrategy( ConnectionTable * table = forwarder_GetConnectionTable(fibEntry->forwarder); unsigned in_connection = message_GetIngressConnectionId(interestMessage); - policy_t policy = fibEntry_GetPolicy(fibEntry); + hicn_policy_t policy = fibEntry_GetPolicy(fibEntry); NumberSet * out; diff --git a/hicn-light/src/hicn/processor/fibEntry.h b/hicn-light/src/hicn/processor/fibEntry.h index 9e438b0e6..3f78f47dd 100644 --- a/hicn-light/src/hicn/processor/fibEntry.h +++ b/hicn-light/src/hicn/processor/fibEntry.h @@ -99,13 +99,6 @@ size_t fibEntry_NexthopCount(const FibEntry *fibEntry); */ const NumberSet *fibEntry_GetNexthops(const FibEntry *fibEntry); -const NumberSet *fibEntry_GetNexthopsFromForwardingStrategy( -#ifdef WITH_POLICY - FibEntry *fibEntry, const Message *interestMessage, bool is_retransmission); -#else - const FibEntry *fibEntry, const Message *interestMessage); -#endif /* WITH_POLICY */ - #ifdef WITH_POLICY void fibEntry_ReceiveObjectMessage(FibEntry *fibEntry, #else @@ -117,9 +110,9 @@ void fibEntry_ReceiveObjectMessage(const FibEntry *fibEntry, Ticks objReception); #ifdef WITH_POLICY -policy_t fibEntry_GetPolicy(const FibEntry *fibEntry); +hicn_policy_t fibEntry_GetPolicy(const FibEntry *fibEntry); void fibEntry_ReconsiderPolicy(FibEntry *fibEntry); -void fibEntry_SetPolicy(FibEntry *fibEntry, policy_t policy); +void fibEntry_SetPolicy(FibEntry *fibEntry, hicn_policy_t policy); void fibEntry_UpdateStats(FibEntry *fibEntry, uint64_t now); NumberSet * fibEntry_GetAvailableNextHops(const FibEntry *fibEntry, unsigned in_connection); NumberSet * fibEntry_GetPreviousNextHops(const FibEntry *fibEntry); diff --git a/hicn-light/src/hicn/processor/messageProcessor.c b/hicn-light/src/hicn/processor/messageProcessor.c index bdd9c23e8..d3f07cbda 100644 --- a/hicn-light/src/hicn/processor/messageProcessor.c +++ b/hicn-light/src/hicn/processor/messageProcessor.c @@ -619,6 +619,7 @@ static bool messageProcessor_ForwardViaFib(MessageProcessor *processor, } } + numberSet_Release(&nexthops); return false; } |