summaryrefslogtreecommitdiff
path: root/pimd/pim_zebra.c
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2017-04-10 11:07:58 -0500
committerGitHub <noreply@github.com>2017-04-10 11:07:58 -0500
commitb43d5ea3302a62133e249d0659e531becbcfbe8b (patch)
tree7fb8f11d6020f828cd0bfc627434b84f807e5790 /pimd/pim_zebra.c
parent73a9e6d2a571b5626b071fe69dd2faffaa33f946 (diff)
parent4390fb9991e78d759c25ffc23be378c8b9242614 (diff)
Merge pull request #304 from donaldsharp/pim_5549
Pim 5549 Additions
Diffstat (limited to 'pimd/pim_zebra.c')
-rw-r--r--pimd/pim_zebra.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 4e18c478d6..53a3a197c7 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -258,31 +258,11 @@ static int pim_zebra_if_address_add(int command, struct zclient *zclient,
#endif
}
- if (p->family != AF_INET)
- {
- struct listnode *cnode;
- struct connected *conn;
- int v4addrs = 0;
-
- for (ALL_LIST_ELEMENTS_RO (c->ifp->connected, cnode, conn))
- {
- if (conn->address->family == AF_INET)
- v4addrs++;
- }
- if (!v4addrs && pim_ifp)
- {
- pim_ifp->primary_address = pim_find_primary_addr (c->ifp);
- pim_if_addr_add_all (c->ifp);
- pim_if_add_vif (c->ifp);
- }
- return 0;
- }
-
if (!CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)) {
/* trying to add primary address */
struct in_addr primary_addr = pim_find_primary_addr(c->ifp);
- if (primary_addr.s_addr != p->u.prefix4.s_addr) {
+ if (p->family != AF_INET || primary_addr.s_addr != p->u.prefix4.s_addr) {
if (PIM_DEBUG_ZEBRA) {
/* but we had a primary address already */