diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-06-20 12:15:58 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2008-06-20 12:15:58 -0700 |
commit | 13807d02a1bd95c2eab32bfa2102e902c61dcb06 (patch) | |
tree | d18d50c2cb0e2193b0764f6fe8ac040fa7b487f2 /zebra | |
parent | 17cf20dabb137205497d81f7c55efa45a4e50748 (diff) | |
download | quagga-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.c | 16 |
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); + } } } } |