diff options
author | Neale Ranns <nranns@cisco.com> | 2016-10-03 09:40:25 +0100 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2016-10-03 11:45:15 +0000 |
commit | 5e575b1d59a5a4c1590ca09d6383a876fb9fdd25 (patch) | |
tree | fcba6d058fe32d9b32fe246577565020d10455ff /vnet/vnet/fib/fib_types.c | |
parent | 553d808fc44e61846e4cda108083dd88beb338e3 (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.c | 34 |
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 |