* 255.255.255.255 address, since
* it will never work
*/
- if (addr.s_addr == INADDR_NONE)
+ if (pim_addr_is_any(addr))
return false;
+#endif
- if ((nexthop->last_lookup.s_addr == addr.s_addr)
+ if (!pim_addr_cmp(nexthop->last_lookup, addr)
&& (nexthop->last_lookup_time > pim->last_route_change_time)) {
if (PIM_DEBUG_PIM_NHT) {
- char addr_str[INET_ADDRSTRLEN];
- pim_inet4_dump("<addr?>", addr, addr_str,
- sizeof(addr_str));
char nexthop_str[PREFIX_STRLEN];
pim_addr_dump("<nexthop?>", &nexthop->mrib_nexthop_addr,
nexthop_str, sizeof(nexthop_str));
return rpf_addr;
}
- int pim_rpf_addr_is_inaddr_none(struct pim_rpf *rpf)
- {
- switch (rpf->rpf_addr.family) {
- case AF_INET:
- return rpf->rpf_addr.u.prefix4.s_addr == INADDR_NONE;
- case AF_INET6:
- zlog_warn("%s: v6 Unimplmeneted", __func__);
- return 1;
- default:
- return 0;
- }
- }
-
int pim_rpf_addr_is_inaddr_any(struct pim_rpf *rpf)
{
+ pim_addr rpf_addr = pim_addr_from_prefix(&rpf->rpf_addr);
+
switch (rpf->rpf_addr.family) {
case AF_INET:
- return rpf->rpf_addr.u.prefix4.s_addr == INADDR_ANY;
case AF_INET6:
- zlog_warn("%s: v6 Unimplmented", __func__);
- return 1;
+ return pim_addr_is_any(rpf_addr);
default:
return 0;
}