aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/mfib
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-05-24 09:15:43 -0700
committerFlorin Coras <florin.coras@gmail.com>2017-08-08 17:25:00 +0000
commitda78f957e46c686434149d332a477d7ea055d76a (patch)
tree4499475fa0904c4b7660dd29576857def77a29ba /src/vnet/mfib
parentb60f4965bf6f51eb746e18fa0307af8e3444bf96 (diff)
L2 over MPLS
[support for VPWS/VPLS] - switch to using dpo_proto_t rather than fib_protocol_t in fib_paths so that we can describe L2 paths - VLIB nodes to handle pop/push of MPLS labels to L2 Change-Id: Id050d06a11fd2c9c1c81ce5a0654e6c5ae6afa6e Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/mfib')
-rw-r--r--src/vnet/mfib/ip6_mfib.c6
-rw-r--r--src/vnet/mfib/mfib_entry.c10
-rw-r--r--src/vnet/mfib/mfib_test.c14
3 files changed, 14 insertions, 16 deletions
diff --git a/src/vnet/mfib/ip6_mfib.c b/src/vnet/mfib/ip6_mfib.c
index 5c6f8126e3a..5e48e9193b5 100644
--- a/src/vnet/mfib/ip6_mfib.c
+++ b/src/vnet/mfib/ip6_mfib.c
@@ -158,7 +158,7 @@ ip6_create_mfib_with_table_id (u32 table_id)
.fp_proto = FIB_PROTOCOL_IP6,
};
const fib_route_path_t path_for_us = {
- .frp_proto = FIB_PROTOCOL_IP6,
+ .frp_proto = DPO_PROTO_IP6,
.frp_addr = zero_addr,
.frp_sw_if_index = 0xffffffff,
.frp_fib_index = ~0,
@@ -222,7 +222,7 @@ ip6_mfib_table_destroy (ip6_mfib_t *mfib)
.fp_proto = FIB_PROTOCOL_IP6,
};
const fib_route_path_t path_for_us = {
- .frp_proto = FIB_PROTOCOL_IP6,
+ .frp_proto = DPO_PROTO_IP6,
.frp_addr = zero_addr,
.frp_sw_if_index = 0xffffffff,
.frp_fib_index = ~0,
@@ -259,7 +259,7 @@ void
ip6_mfib_interface_enable_disable (u32 sw_if_index, int is_enable)
{
const fib_route_path_t path = {
- .frp_proto = FIB_PROTOCOL_IP6,
+ .frp_proto = DPO_PROTO_IP6,
.frp_addr = zero_addr,
.frp_sw_if_index = sw_if_index,
.frp_fib_index = ~0,
diff --git a/src/vnet/mfib/mfib_entry.c b/src/vnet/mfib/mfib_entry.c
index cf25b67af6a..b37f88254bc 100644
--- a/src/vnet/mfib/mfib_entry.c
+++ b/src/vnet/mfib/mfib_entry.c
@@ -764,18 +764,16 @@ mfib_entry_update (fib_node_index_t mfib_entry_index,
* entry
*/
fib_node_index_t old_pl_index;
- fib_protocol_t fp;
+ dpo_proto_t dp;
dpo_id_t dpo = DPO_INVALID;
- fp = mfib_entry_get_proto(mfib_entry);
+ dp = fib_proto_to_dpo(mfib_entry_get_proto(mfib_entry));
old_pl_index = msrc->mfes_pl;
- dpo_set(&dpo, DPO_REPLICATE,
- fib_proto_to_dpo(fp),
- repi);
+ dpo_set(&dpo, DPO_REPLICATE, dp, repi);
msrc->mfes_pl =
- fib_path_list_create_special(fp,
+ fib_path_list_create_special(dp,
FIB_PATH_LIST_FLAG_EXCLUSIVE,
&dpo);
diff --git a/src/vnet/mfib/mfib_test.c b/src/vnet/mfib/mfib_test.c
index 7c92ae99b1d..57787eca641 100644
--- a/src/vnet/mfib/mfib_test.c
+++ b/src/vnet/mfib/mfib_test.c
@@ -387,7 +387,7 @@ mfib_test_i (fib_protocol_t PROTO,
fib_route_path_t path_via_if0 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[0]->sw_if_index,
.frp_fib_index = ~0,
@@ -411,7 +411,7 @@ mfib_test_i (fib_protocol_t PROTO,
MFIB_ITF_FLAG_ACCEPT));
fib_route_path_t path_via_if1 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[1]->sw_if_index,
.frp_fib_index = ~0,
@@ -419,7 +419,7 @@ mfib_test_i (fib_protocol_t PROTO,
.frp_flags = 0,
};
fib_route_path_t path_via_if2 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[2]->sw_if_index,
.frp_fib_index = ~0,
@@ -427,7 +427,7 @@ mfib_test_i (fib_protocol_t PROTO,
.frp_flags = 0,
};
fib_route_path_t path_via_if3 = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = tm->hw[3]->sw_if_index,
.frp_fib_index = ~0,
@@ -435,7 +435,7 @@ mfib_test_i (fib_protocol_t PROTO,
.frp_flags = 0,
};
fib_route_path_t path_for_us = {
- .frp_proto = PROTO,
+ .frp_proto = fib_proto_to_dpo(PROTO),
.frp_addr = zero_addr,
.frp_sw_if_index = 0xffffffff,
.frp_fib_index = ~0,
@@ -1121,7 +1121,7 @@ mfib_test_i (fib_protocol_t PROTO,
&pfx_3500,
FIB_SOURCE_API,
FIB_ENTRY_FLAG_MULTICAST,
- FIB_PROTOCOL_IP4,
+ DPO_PROTO_IP4,
&nh_10_10_10_1,
tm->hw[0]->sw_if_index,
~0, // invalid fib index
@@ -1138,7 +1138,7 @@ mfib_test_i (fib_protocol_t PROTO,
* An (S,G) that resolves via the mLDP head-end
*/
fib_route_path_t path_via_mldp = {
- .frp_proto = FIB_PROTOCOL_MPLS,
+ .frp_proto = DPO_PROTO_MPLS,
.frp_local_label = pfx_3500.fp_label,
.frp_eos = MPLS_EOS,
.frp_sw_if_index = 0xffffffff,