summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2017-05-19 02:54:32 -0700
committerFlorin Coras <florin.coras@gmail.com>2017-05-19 17:42:28 +0000
commitc7409dc906ebff22d9803940e1ad73a0b79887c4 (patch)
tree60ec72ce63ae8e38d578439df3a997b26d235e25
parent9793477a28c45e4eb5bba3f2050fe415e57e8ad8 (diff)
mfib CLI bugs (VPP-852)
Change-Id: I1b71010e20742eee02693d672e24c85897e37759 Signed-off-by: Neale Ranns <nranns@cisco.com>
-rwxr-xr-xsrc/vnet/ip/lookup.c2
-rw-r--r--src/vnet/mfib/ip4_mfib.c9
-rw-r--r--src/vnet/mfib/ip6_mfib.c13
3 files changed, 16 insertions, 8 deletions
diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c
index b9b5caa542f..6547cad51b1 100755
--- a/src/vnet/ip/lookup.c
+++ b/src/vnet/ip/lookup.c
@@ -813,12 +813,14 @@ vnet_ip_mroute_cmd (vlib_main_t * vm,
unformat_ip4_address,
&pfx.fp_grp_addr.ip4, &pfx.fp_len))
{
+ memset (&pfx.fp_src_addr.ip4, 0, sizeof (pfx.fp_src_addr.ip4));
pfx.fp_proto = FIB_PROTOCOL_IP4;
}
else if (unformat (line_input, "%U/%d",
unformat_ip6_address,
&pfx.fp_grp_addr.ip6, &pfx.fp_len))
{
+ memset (&pfx.fp_src_addr.ip6, 0, sizeof (pfx.fp_src_addr.ip6));
pfx.fp_proto = FIB_PROTOCOL_IP6;
}
else if (unformat (line_input, "%U",
diff --git a/src/vnet/mfib/ip4_mfib.c b/src/vnet/mfib/ip4_mfib.c
index 3ed7cba7b6f..1849a3a4201 100644
--- a/src/vnet/mfib/ip4_mfib.c
+++ b/src/vnet/mfib/ip4_mfib.c
@@ -382,14 +382,17 @@ ip4_show_mfib (vlib_main_t * vm,
matching = 1;
mask = 64;
}
+ else if (unformat (input, "%U/%d", unformat_ip4_address, &grp, &mask))
+ {
+ memset(&src, 0, sizeof(src));
+ matching = 1;
+ }
else if (unformat (input, "%U", unformat_ip4_address, &grp))
{
+ memset(&src, 0, sizeof(src));
matching = 1;
mask = 32;
}
- else if (unformat (input, "%U/%d",
- unformat_ip4_address, &grp, &mask))
- matching = 1;
else if (unformat (input, "table %d", &table_id))
;
else if (unformat (input, "index %d", &fib_index))
diff --git a/src/vnet/mfib/ip6_mfib.c b/src/vnet/mfib/ip6_mfib.c
index 116fee2222a..5c6f8126e3a 100644
--- a/src/vnet/mfib/ip6_mfib.c
+++ b/src/vnet/mfib/ip6_mfib.c
@@ -585,16 +585,19 @@ ip6_show_mfib (vlib_main_t * vm,
unformat_ip6_address, &grp))
{
matching = 1;
- mask = 64;
+ mask = 256;
}
- else if (unformat (input, "%U", unformat_ip6_address, &grp))
+ else if (unformat (input, "%U/%d", unformat_ip6_address, &grp, &mask))
{
+ memset(&src, 0, sizeof(src));
matching = 1;
- mask = 32;
}
- else if (unformat (input, "%U/%d",
- unformat_ip6_address, &grp, &mask))
+ else if (unformat (input, "%U", unformat_ip6_address, &grp))
+ {
+ memset(&src, 0, sizeof(src));
matching = 1;
+ mask = 128;
+ }
else if (unformat (input, "table %d", &table_id))
;
else if (unformat (input, "index %d", &fib_index))