aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/fib/fib_types.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2016-10-03 09:40:25 +0100
committerFlorin Coras <florin.coras@gmail.com>2016-10-03 11:45:15 +0000
commit5e575b1d59a5a4c1590ca09d6383a876fb9fdd25 (patch)
treefcba6d058fe32d9b32fe246577565020d10455ff /vnet/vnet/fib/fib_types.c
parent553d808fc44e61846e4cda108083dd88beb338e3 (diff)
L2 over LISP and GRE (VPP-457)
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'vnet/vnet/fib/fib_types.c')
-rw-r--r--vnet/vnet/fib/fib_types.c34
1 files changed, 30 insertions, 4 deletions
diff --git a/vnet/vnet/fib/fib_types.c b/vnet/vnet/fib/fib_types.c
index bf76c5536e6..f881a8f3ff2 100644
--- a/vnet/vnet/fib/fib_types.c
+++ b/vnet/vnet/fib/fib_types.c
@@ -214,6 +214,24 @@ fib_proto_to_dpo (fib_protocol_t fib_proto)
return (0);
}
+dpo_proto_t
+fib_link_to_dpo_proto (fib_link_t linkt)
+{
+ switch (linkt)
+ {
+ case FIB_LINK_IP6:
+ return (DPO_PROTO_IP6);
+ case FIB_LINK_IP4:
+ return (DPO_PROTO_IP4);
+ case FIB_LINK_MPLS:
+ return (DPO_PROTO_MPLS);
+ case FIB_LINK_ETHERNET:
+ return (DPO_PROTO_ETHERNET);
+ }
+ ASSERT(0);
+ return (0);
+}
+
fib_protocol_t
dpo_proto_to_fib (dpo_proto_t dpo_proto)
{
@@ -225,6 +243,8 @@ dpo_proto_to_fib (dpo_proto_t dpo_proto)
return (FIB_PROTOCOL_IP4);
case DPO_PROTO_MPLS:
return (FIB_PROTOCOL_MPLS);
+ default:
+ break;
}
ASSERT(0);
return (0);
@@ -247,16 +267,18 @@ fib_proto_to_link (fib_protocol_t proto)
}
fib_forward_chain_type_t
-fib_proto_to_forw_chain_type (fib_protocol_t proto)
+fib_forw_chain_type_from_dpo_proto (dpo_proto_t proto)
{
switch (proto)
{
- case FIB_PROTOCOL_IP4:
+ case DPO_PROTO_IP4:
return (FIB_FORW_CHAIN_TYPE_UNICAST_IP4);
- case FIB_PROTOCOL_IP6:
+ case DPO_PROTO_IP6:
return (FIB_FORW_CHAIN_TYPE_UNICAST_IP6);
- case FIB_PROTOCOL_MPLS:
+ case DPO_PROTO_MPLS:
return (FIB_FORW_CHAIN_TYPE_MPLS_NON_EOS);
+ case DPO_PROTO_ETHERNET:
+ return (FIB_FORW_CHAIN_TYPE_ETHERNET);
}
ASSERT(0);
return (FIB_FORW_CHAIN_TYPE_UNICAST_IP4);
@@ -271,6 +293,8 @@ fib_forw_chain_type_to_link_type (fib_forward_chain_type_t fct)
return (FIB_LINK_IP4);
case FIB_FORW_CHAIN_TYPE_UNICAST_IP6:
return (FIB_LINK_IP6);
+ case FIB_FORW_CHAIN_TYPE_ETHERNET:
+ return (FIB_LINK_ETHERNET);
case FIB_FORW_CHAIN_TYPE_MPLS_EOS:
/*
* insufficient information to to convert
@@ -292,6 +316,8 @@ fib_forw_chain_type_to_dpo_proto (fib_forward_chain_type_t fct)
return (DPO_PROTO_IP4);
case FIB_FORW_CHAIN_TYPE_UNICAST_IP6:
return (DPO_PROTO_IP6);
+ case FIB_FORW_CHAIN_TYPE_ETHERNET:
+ return (DPO_PROTO_ETHERNET);
case FIB_FORW_CHAIN_TYPE_MPLS_EOS:
/*
* insufficient information to to convert