diff options
-rw-r--r-- | pimd/pim6_cmd.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pimd/pim6_cmd.c b/pimd/pim6_cmd.c index eb29a57e2..9394e4c15 100644 --- a/pimd/pim6_cmd.c +++ b/pimd/pim6_cmd.c @@ -539,6 +539,14 @@ DEFPY (interface_ipv6_mld_join, "Source address\n") { char xpath[XPATH_MAXLEN]; + struct ipaddr group_addr = {0}; + + (void)str2ipaddr(group_str, &group_addr); + + if (!IN6_IS_ADDR_MULTICAST(&group_addr)) { + vty_out(vty, "Invalid Multicast Address\n"); + return CMD_WARNING_CONFIG_FAILED; + } if (source_str) { if (IPV6_ADDR_SAME(&source, &in6addr_any)) { |