X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdpo%2Fdpo.c;h=51adbc3d55a0fc6a2a886172aa555fd30dc7d8ce;hb=f068c3e;hp=e94f347466e88781727685c1692192131356282d;hpb=6f6311560380d0e992f710558e213df1b098ef94;p=vpp.git diff --git a/src/vnet/dpo/dpo.c b/src/vnet/dpo/dpo.c index e94f347466e..51adbc3d55a 100644 --- a/src/vnet/dpo/dpo.c +++ b/src/vnet/dpo/dpo.c @@ -40,7 +40,8 @@ #include #include #include -#include +#include +#include /** * Array of char* names for the DPO types and protos @@ -121,6 +122,7 @@ dpo_proto_to_link (dpo_proto_t dp) case DPO_PROTO_IP4: return (VNET_LINK_IP4); case DPO_PROTO_MPLS: + case DPO_PROTO_BIER: return (VNET_LINK_MPLS); case DPO_PROTO_ETHERNET: return (VNET_LINK_ETHERNET); @@ -345,6 +347,17 @@ dpo_unlock (dpo_id_t *dpo) dpo_vfts[dpo->dpoi_type].dv_unlock(dpo); } +u32 +dpo_get_urpf(const dpo_id_t *dpo) +{ + if (dpo_id_is_valid(dpo) && + (NULL != dpo_vfts[dpo->dpoi_type].dv_get_urpf)) + { + return (dpo_vfts[dpo->dpoi_type].dv_get_urpf(dpo)); + } + + return (~0); +} static u32 dpo_get_next_node (dpo_type_t child_type, @@ -524,7 +537,8 @@ dpo_module_init (vlib_main_t * vm) interface_rx_dpo_module_init(); interface_tx_dpo_module_init(); mpls_disp_dpo_module_init(); - l2_bridge_dpo_module_init(); + dvr_dpo_module_init(); + l3_proxy_dpo_module_init(); return (NULL); }