summaryrefslogtreecommitdiff
path: root/pimd/pimd.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2022-01-14 20:17:46 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2022-02-14 06:45:03 +0100
commit29fd9fca45394602f0ff4358d1fa05c8f1867412 (patch)
tree5a4b5e22f23dc306d26d8768742a8196ec749399 /pimd/pimd.c
parent2b844385dc5fcd26dd5dd816d25bb1090435fe3e (diff)
pim6d: IPv6-adjust pim_msg_send() and related
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'pimd/pimd.c')
-rw-r--r--pimd/pimd.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/pimd/pimd.c b/pimd/pimd.c
index 16a0c7251c..9621f9794d 100644
--- a/pimd/pimd.c
+++ b/pimd/pimd.c
@@ -49,15 +49,22 @@
CPP_NOTICE("Work needs to be done to make this work properly via the pim mroute socket\n");
#endif /* MAXVIFS > 256 */
+#if PIM_IPV == 4
const char *const PIM_ALL_SYSTEMS = MCAST_ALL_SYSTEMS;
const char *const PIM_ALL_ROUTERS = MCAST_ALL_ROUTERS;
const char *const PIM_ALL_PIM_ROUTERS = MCAST_ALL_PIM_ROUTERS;
const char *const PIM_ALL_IGMP_ROUTERS = MCAST_ALL_IGMP_ROUTERS;
+#else
+const char *const PIM_ALL_SYSTEMS = "ff02::1";
+const char *const PIM_ALL_ROUTERS = "ff02::2";
+const char *const PIM_ALL_PIM_ROUTERS = "ff02::d";
+const char *const PIM_ALL_IGMP_ROUTERS = "ff02::16";
+#endif
DEFINE_MTYPE_STATIC(PIMD, ROUTER, "PIM Router information");
struct pim_router *router = NULL;
-struct in_addr qpim_all_pim_routers_addr;
+pim_addr qpim_all_pim_routers_addr;
void pim_prefix_list_update(struct prefix_list *plist)
{
@@ -120,7 +127,8 @@ void pim_router_terminate(void)
void pim_init(void)
{
- if (!inet_aton(PIM_ALL_PIM_ROUTERS, &qpim_all_pim_routers_addr)) {
+ if (!inet_pton(PIM_AF, PIM_ALL_PIM_ROUTERS,
+ &qpim_all_pim_routers_addr)) {
flog_err(
EC_LIB_SOCKET,
"%s %s: could not solve %s to group address: errno=%d: %s",