Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
DVR: run L3 output features
[vpp.git]
/
src
/
vnet
/
dpo
/
dpo.c
diff --git
a/src/vnet/dpo/dpo.c
b/src/vnet/dpo/dpo.c
index
e94f347
..
51adbc3
100644
(file)
--- a/
src/vnet/dpo/dpo.c
+++ b/
src/vnet/dpo/dpo.c
@@
-40,7
+40,8
@@
#include <vnet/dpo/interface_rx_dpo.h>
#include <vnet/dpo/interface_tx_dpo.h>
#include <vnet/dpo/mpls_disposition.h>
#include <vnet/dpo/interface_rx_dpo.h>
#include <vnet/dpo/interface_tx_dpo.h>
#include <vnet/dpo/mpls_disposition.h>
-#include <vnet/dpo/l2_bridge_dpo.h>
+#include <vnet/dpo/dvr_dpo.h>
+#include <vnet/dpo/l3_proxy_dpo.h>
/**
* Array of char* names for the DPO types and protos
/**
* 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_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);
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);
}
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,
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();
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);
}
return (NULL);
}