summaryrefslogtreecommitdiff
path: root/pimd/pim_vty.c
diff options
context:
space:
mode:
authorLiam McBirnie <mcbirnie.l@gmail.com>2019-12-05 21:57:50 +0100
committerLiam McBirnie <liam.mcbirnie@rheinmetall.com>2019-12-12 13:09:46 +0100
commit771ce8ad240b0c620e6cf46a7841fe2b757f9b43 (patch)
tree21bddb6be208123bb2237da10761bead01b18484 /pimd/pim_vty.c
parent670812fd1351f8e396f4d2473dc43c88efd9902c (diff)
pimd: Add command to join any-source multicast.
Allow 'ip igmp join' to join group for any source if no source is specified. Disallow joining source "0.0.0.0" as it is used to define an any-source multicast group. Signed-off-by: Liam McBirnie <liam.mcbirnie@boeing.com>
Diffstat (limited to 'pimd/pim_vty.c')
-rw-r--r--pimd/pim_vty.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/pimd/pim_vty.c b/pimd/pim_vty.c
index 1c4ecf299f..c48ec373f8 100644
--- a/pimd/pim_vty.c
+++ b/pimd/pim_vty.c
@@ -379,13 +379,19 @@ int pim_interface_config_write(struct vty *vty)
ij->group_addr,
group_str,
sizeof(group_str));
- inet_ntop(AF_INET,
- &ij->source_addr,
- source_str,
- sizeof(source_str));
- vty_out(vty,
- " ip igmp join %s %s\n",
- group_str, source_str);
+ if (ij->source_addr.s_addr == INADDR_ANY) {
+ vty_out(vty,
+ " ip igmp join %s\n",
+ group_str);
+ } else {
+ inet_ntop(AF_INET,
+ &ij->source_addr,
+ source_str,
+ sizeof(source_str));
+ vty_out(vty,
+ " ip igmp join %s %s\n",
+ group_str, source_str);
+ }
++writes;
}
}