aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/fib/fib_types.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/fib/fib_types.c')
-rw-r--r--src/vnet/fib/fib_types.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/vnet/fib/fib_types.c b/src/vnet/fib/fib_types.c
index 1046e45b2f7..542cf1d7faf 100644
--- a/src/vnet/fib/fib_types.c
+++ b/src/vnet/fib/fib_types.c
@@ -282,6 +282,40 @@ fib_proto_to_link (fib_protocol_t proto)
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)
{