[quagga-dev 3478] It must be a bug of OSPF apiserver!

se.ofbiz se.ofbiz at 126.com
Wed Jun 1 16:54:55 BST 2005


when I use ospfclient to dump ism_change, but I have't get any proper msg.
I had made several tests to find the change of interface which ospfclient can be recieved, but all the msg I recieved is "state:1 [down]", although the msg in the ospfd which turn debug on reported inteface status from 1 to 3, and from 3 to 6, from 6 to 7. 
I studied the source, and found the 
ospf_apiserver.c

ospf_apiserver_clients_notify_ism_change (struct ospf_interface *oi)
{
struct msg *msg;
struct in_addr ifaddr = { 0L };
struct in_addr area_id = { 0L };

assert (oi);
assert (oi->ifp);

if (oi->address)
{
ifaddr = oi->address->u.prefix4;
}
if (oi->area)
{
area_id = oi->area->area_id;
}

msg = new_msg_ism_change (0, ifaddr, area_id, oi->ifp->status);
if (!msg)
{
zlog_warn ("apiserver_clients_notify_ism_change: msg_new failed");
return;
}

ospf_apiserver_clients_notify_all (msg);
msg_free (msg);
}




*******msg = new_msg_ism_change (0, ifaddr, area_id, oi->ifp->status);
*******maybe change to
*******msg = new_msg_ism_change (0, ifaddr, area_id, oi->state);

"oi->ifp->status" is the status of interface , not the ism.

Is this correct?

NUDT:Forrest Gan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20050601/bec9f6b0/attachment-0001.html>


More information about the Quagga-dev mailing list