summaryrefslogtreecommitdiffstats
path: root/pimd/pim_zlookup.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2022-03-10 15:38:59 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2022-04-26 16:15:00 +0200
commitdea337dc571811cec0091ccef74444ff37e02cd4 (patch)
tree0686ac2ab8645ba5e04ca1ba190611363633f18c /pimd/pim_zlookup.c
parentzebra, pimd: add AF param on NEXTHOP_LOOKUP_MRIB (diff)
downloadfrr-dea337dc571811cec0091ccef74444ff37e02cd4.tar.xz
frr-dea337dc571811cec0091ccef74444ff37e02cd4.zip
pim6d: implement/un-stub MRIB lookup
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_zlookup.c')
-rw-r--r--pimd/pim_zlookup.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/pimd/pim_zlookup.c b/pimd/pim_zlookup.c
index 79969ce9f..0df7e4235 100644
--- a/pimd/pim_zlookup.c
+++ b/pimd/pim_zlookup.c
@@ -199,11 +199,12 @@ static int zclient_read_nexthop(struct pim_instance *pim,
stream_get_ipaddr(s, &raddr);
- if (raddr.ipa_type != IPADDR_V4 ||
- raddr.ipaddr_v4.s_addr != addr.s_addr)
+ if (raddr.ipa_type != PIM_IPADDR ||
+ pim_addr_cmp(raddr.ipaddr_pim, addr)) {
zlog_warn("%s: address mismatch: addr=%pPA(%s) raddr=%pIA",
__func__, &addr, pim->vrf->name, &raddr);
- /* warning only */
+ /* warning only */
+ }
distance = stream_getc(s);
metric = stream_getl(s);
@@ -328,8 +329,8 @@ static int zclient_lookup_nexthop_once(struct pim_instance *pim,
return -1;
}
- ipaddr.ipa_type = IPADDR_V4;
- ipaddr.ipaddr_v4 = addr;
+ ipaddr.ipa_type = PIM_IPADDR;
+ ipaddr.ipaddr_pim = addr;
s = zlookup->obuf;
stream_reset(s);
@@ -480,6 +481,7 @@ void pim_zlookup_show_ip_multicast(struct vty *vty)
}
}
+#if PIM_IPV == 4
int pim_zlookup_sg_statistics(struct channel_oil *c_oil)
{
struct stream *s = zlookup->obuf;
@@ -568,3 +570,4 @@ int pim_zlookup_sg_statistics(struct channel_oil *c_oil)
return 0;
}
+#endif