summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2008-06-20 12:15:58 -0700
committerStephen Hemminger <stephen.hemminger@vyatta.com>2008-06-20 12:15:58 -0700
commit13807d02a1bd95c2eab32bfa2102e902c61dcb06 (patch)
treed18d50c2cb0e2193b0764f6fe8ac040fa7b487f2 /zebra
parent17cf20dabb137205497d81f7c55efa45a4e50748 (diff)
downloadquagga-13807d02a1bd95c2eab32bfa2102e902c61dcb06.tar.bz2
quagga-13807d02a1bd95c2eab32bfa2102e902c61dcb06.tar.xz
Revert "Use if_flags_update"
This reverts commit 17cf20dabb137205497d81f7c55efa45a4e50748. Stuff for next release snuck into hollywood branch
Diffstat (limited to 'zebra')
-rw-r--r--zebra/rt_netlink.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index c487b1da..c6ec08c6 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -985,7 +985,21 @@ netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h)
zlog_info ("interface %s index %d changed %s.",
name, ifi->ifi_index, if_flag_dump(new_flags));
- if_flags_update(ifp, new_flags);
+ if (if_is_operative (ifp))
+ {
+ ifp->flags = new_flags;
+ if (!if_is_operative (ifp))
+ if_down (ifp);
+ else
+ /* Must notify client daemons of new interface status. */
+ zebra_interface_up_update (ifp);
+ }
+ else
+ {
+ ifp->flags = new_flags;
+ if (if_is_operative (ifp))
+ if_up (ifp);
+ }
}
}
}