diff options
Diffstat (limited to 'ospfd/ospf_zebra.c')
-rw-r--r-- | ospfd/ospf_zebra.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 833dd706..bdb0c0f5 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -67,6 +67,8 @@ ospf_interface_add (int command, struct zclient *zclient, zebra_size_t length) zlog_info ("Zebra: interface add %s index %d flags %ld metric %d mtu %d", ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu); + assert(ifp->info); + if (!OSPF_IF_PARAM_CONFIGURED (IF_DEF_PARAMS (ifp), type)) { SET_IF_PARAM (IF_DEF_PARAMS (ifp), type); @@ -157,6 +159,7 @@ zebra_interface_if_set_value (struct stream *s, struct interface *ifp) ifp->ifindex = stream_getl (s); /* Read interface's value. */ + ifp->status = stream_getc (s); ifp->flags = stream_getl (s); ifp->metric = stream_getl (s); ifp->mtu = stream_getl (s); @@ -178,7 +181,7 @@ ospf_interface_state_up (int command, struct zclient *zclient, return 0; /* Interface is already up. */ - if (if_is_up (ifp)) + if (if_is_operative (ifp)) { /* Temporarily keep ifp values. */ memcpy (&if_tmp, ifp, sizeof (struct interface)); |