Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
MPLS Mcast
[vpp.git]
/
src
/
vnet
/
mpls
/
mpls.c
diff --git
a/src/vnet/mpls/mpls.c
b/src/vnet/mpls/mpls.c
index
0e610e1
..
451b15c
100644
(file)
--- a/
src/vnet/mpls/mpls.c
+++ b/
src/vnet/mpls/mpls.c
@@
-161,6
+161,14
@@
u8 * format_mpls_unicast_header_net_byte_order (u8 * s, va_list * args)
&h_host);
}
&h_host);
}
+typedef struct {
+ u32 fib_index;
+ u32 entry_index;
+ u32 dest;
+ u32 s_bit;
+ u32 label;
+} show_mpls_fib_t;
+
int
mpls_dest_cmp(void * a1, void * a2)
{
int
mpls_dest_cmp(void * a1, void * a2)
{
@@
-278,7
+286,15
@@
vnet_mpls_local_label (vlib_main_t * vm,
rpath.frp_proto = FIB_PROTOCOL_IP4;
vec_add1(rpaths, rpath);
}
rpath.frp_proto = FIB_PROTOCOL_IP4;
vec_add1(rpaths, rpath);
}
-
+ else if (unformat (line_input, "rx-ip4 %U",
+ unformat_vnet_sw_interface, vnm,
+ &rpath.frp_sw_if_index))
+ {
+ rpath.frp_weight = 1;
+ rpath.frp_proto = FIB_PROTOCOL_IP4;
+ rpath.frp_flags = FIB_ROUTE_PATH_INTF_RX;
+ vec_add1(rpaths, rpath);
+ }
else if (unformat (line_input, "via %U %U",
unformat_ip6_address,
&rpath.frp_addr.ip6,
else if (unformat (line_input, "via %U %U",
unformat_ip6_address,
&rpath.frp_addr.ip6,
@@
-470,6
+486,8
@@
vnet_mpls_local_label (vlib_main_t * vm,
}
done:
}
done:
+ unformat_free (line_input);
+
return error;
}
return error;
}
@@
-502,10
+520,3
@@
mpls_init (vlib_main_t * vm)
}
VLIB_INIT_FUNCTION (mpls_init);
}
VLIB_INIT_FUNCTION (mpls_init);
-
-mpls_main_t * mpls_get_main (vlib_main_t * vm)
-{
- vlib_call_init_function (vm, mpls_init);
- return &mpls_main;
-}
-