return s;
}
+#if DPDK > 0 /* Cannot call replicate yet without DPDK */
#define foreach_sr_rewrite_next \
_(ERROR, "error-drop") \
_(IP6_LOOKUP, "ip6-lookup") \
_(SR_LOCAL, "sr-local") \
_(SR_REPLICATE,"sr-replicate")
+#else
+#define foreach_sr_rewrite_next \
+_(ERROR, "error-drop") \
+_(IP6_LOOKUP, "ip6-lookup") \
+_(SR_LOCAL, "sr-local")
+#endif /* DPDK */
typedef enum {
#define _(s,n) SR_REWRITE_NEXT_##s,
t0 = pool_elt_at_index (sm->tunnels,
adj0->rewrite_header.sw_if_index);
+#if DPDK > 0 /* Cannot call replication node yet without DPDK */
/* add a replication node */
if(PREDICT_FALSE(t0->policy_index != ~0))
{
next0=SR_REWRITE_NEXT_SR_REPLICATE;
goto trace0;
}
+#endif /* DPDK */
ASSERT (VLIB_BUFFER_PRE_DATA_SIZE
>= ((word) vec_len (t0->rewrite)) + b0->current_data);
}
}
+#if DPDK > 0 /* Cannot run replicate without DPDK and only replicate uses this label */
trace0:
+#endif /* DPDK */
if (PREDICT_FALSE(b0->flags & VLIB_BUFFER_IS_TRACED))
{
sr_rewrite_trace_t *tr = vlib_add_trace (vm, node,
a->multicast_address = &multicast_address;
a->policy_name = policy_name;
+#if DPDK > 0 /*Cannot call replicate or configure multicast map yet without DPDK */
rv = ip6_sr_add_del_multicastmap (a);
+#else
+ return clib_error_return (0, "cannot use multicast replicate spray case without DPDK installed");
+#endif /* DPDK */
switch (rv)
{
sm->ip6_lookup_sr_next_index =
vlib_node_add_next (vm, ip6_lookup_node->index, sr_rewrite_node.index);
+#if DPDK > 0 /* Cannot run replicate without DPDK */
/* Add a disposition to sr_replicate for the sr multicast replicate node */
sm->ip6_lookup_sr_replicate_index =
vlib_node_add_next (vm, ip6_lookup_node->index, sr_replicate_node.index);
+#endif /* DPDK */
/* Add a disposition to ip6_rewrite for the sr dst address hack node */
sm->ip6_rewrite_sr_next_index =