diff options
Diffstat (limited to 'proto/ospf/iface.c')
-rw-r--r-- | proto/ospf/iface.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index 8db086e..e514a5d 100644 --- a/proto/ospf/iface.c +++ b/proto/ospf/iface.c @@ -152,9 +152,12 @@ ospf_iface_chstate(struct ospf_iface *ifa, u8 state) if ((ifa->type != OSPF_IT_NBMA) && (ifa->ioprob == OSPF_I_OK) && ((state == OSPF_IS_BACKUP) || (state == OSPF_IS_DR))) { - /* FIXME some error handing ? */ - sk_join_group(ifa->sk, AllDRouters); - ifa->dr_up = 1; + if (!ifa->dr_up == 0) + { + /* FIXME some error handing ? */ + sk_join_group(ifa->sk, AllDRouters); + ifa->dr_up = 1; + } } else if (ifa->dr_up) { |