mfib CLI bugs (VPP-852)
Change-Id: I1b71010e20742eee02693d672e24c85897e37759
Signed-off-by: Neale Ranns <nranns@cisco.com>
diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c
index b9b5caa..6547cad 100755
--- a/src/vnet/ip/lookup.c
+++ b/src/vnet/ip/lookup.c
@@ -813,12 +813,14 @@
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 3ed7cba..1849a3a 100644
--- a/src/vnet/mfib/ip4_mfib.c
+++ b/src/vnet/mfib/ip4_mfib.c
@@ -382,14 +382,17 @@
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 116fee2..5c6f812 100644
--- a/src/vnet/mfib/ip6_mfib.c
+++ b/src/vnet/mfib/ip6_mfib.c
@@ -585,16 +585,19 @@
unformat_ip6_address, &grp))
{
matching = 1;
- mask = 64;
+ mask = 256;
+ }
+ else if (unformat (input, "%U/%d", unformat_ip6_address, &grp, &mask))
+ {
+ memset(&src, 0, sizeof(src));
+ matching = 1;
}
else if (unformat (input, "%U", unformat_ip6_address, &grp))
{
+ memset(&src, 0, sizeof(src));
matching = 1;
- mask = 32;
+ mask = 128;
}
- else if (unformat (input, "%U/%d",
- unformat_ip6_address, &grp, &mask))
- matching = 1;
else if (unformat (input, "table %d", &table_id))
;
else if (unformat (input, "index %d", &fib_index))