summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/ip/lookup.h
diff options
context:
space:
mode:
authorKeith Burns (alagalah) <alagalah@gmail.com>2016-03-25 09:38:50 -0700
committerKeith Burns <alagalah@gmail.com>2016-04-30 16:38:09 +0000
commit52fc44d61bcebb898dc19ab818ff60e617055694 (patch)
tree2a5155984329b766f74ed4ef42569b6279d871bf /vnet/vnet/ip/lookup.h
parent6de2ff28fef27421f6b9a6c1f4ef53d1bd8c7c6e (diff)
IP6 SR multicast replicator
- adds ability to name tunnel - creates policy as a collection of tunnel names - map ip6 multicast address to policy and replicate packet - adds zero memcpy for invariant portion of packet Change-Id: Icd2fe6a2cf65c09906e82ed1afbb0eae8df79452 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Diffstat (limited to 'vnet/vnet/ip/lookup.h')
-rw-r--r--vnet/vnet/ip/lookup.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/vnet/vnet/ip/lookup.h b/vnet/vnet/ip/lookup.h
index e9a49124105..9c88b85c285 100644
--- a/vnet/vnet/ip/lookup.h
+++ b/vnet/vnet/ip/lookup.h
@@ -471,9 +471,13 @@ ip_update_adjacency (ip_lookup_main_t * lm,
static inline int
ip_adjacency_is_multipath(ip_lookup_main_t * lm, u32 adj_index)
{
+ if (!vec_len(lm->multipath_adjacencies))
+ return 0;
+
if (vec_len(lm->multipath_adjacencies) < adj_index - 1)
return 0;
+
return (lm->multipath_adjacencies[adj_index].adj_index == adj_index &&
lm->multipath_adjacencies[adj_index].n_adj_in_block > 0);
}