return (0);
}
+ip46_type_t
+fib_proto_to_ip46 (fib_protocol_t fproto)
+{
+ switch (fproto)
+ {
+ case FIB_PROTOCOL_IP4:
+ return (IP46_TYPE_IP4);
+ case FIB_PROTOCOL_IP6:
+ return (IP46_TYPE_IP6);
+ case FIB_PROTOCOL_MPLS:
+ return (IP46_TYPE_ANY);
+ }
+ ASSERT(0);
+ return (IP46_TYPE_ANY);
+}
+
+fib_protocol_t
+fib_proto_from_ip46 (ip46_type_t iproto)
+{
+ switch (iproto)
+ {
+ case IP46_TYPE_IP4:
+ return FIB_PROTOCOL_IP4;
+ case IP46_TYPE_IP6:
+ return FIB_PROTOCOL_IP6;
+ case IP46_TYPE_ANY:
+ ASSERT(0);
+ return FIB_PROTOCOL_IP4;
+ }
+
+ ASSERT(0);
+ return FIB_PROTOCOL_IP4;
+}
+
fib_forward_chain_type_t
fib_forw_chain_type_from_dpo_proto (dpo_proto_t proto)
{
rpath->frp_proto = DPO_PROTO_MPLS;
*payload_proto = DPO_PROTO_MPLS;
}
+ else if (unformat (input, "src-lookup"))
+ {
+ rpath->frp_flags |= FIB_ROUTE_PATH_SOURCE_LOOKUP;
+ }
else if (unformat (input,
"l2-input-on %U",
unformat_vnet_sw_interface, vnm,
{
rpath->frp_proto = DPO_PROTO_ETHERNET;
*payload_proto = DPO_PROTO_ETHERNET;
+ rpath->frp_flags |= FIB_ROUTE_PATH_INTF_RX;
}
else if (unformat (input, "via-label %U",
unformat_mpls_unicast_label,