Is it a bug of RADIX ????

JACK jack.shang at huawei.com
Wed May 18 12:32:21 UTC 2011


After inserting the following IPv4 routers:

0x360AD0A2/30
0x360ADFEC/20
0x360AD082/30

I try to delete the above routes, when delete the second
route(0x360ADFEC/20), the operation fail.

struct radix_node * rn_delete (........)
{
    ...
    /*
     * Delete our route from mask lists.
     */
    if (netmask != NULL) {
        if ((x = rn_addmask(netmask, TRUE, head_off)) == NULL)
            return (NULL);
        netmask = x->rn_key;
        while (tt->rn_mask != netmask)
            if ((tt = tt->rn_dupedkey) == NULL)
                return (NULL); // rn_delete return here!!!
    }
    ...
}

but, if I delete as the following order, all routers was deleted
successfully:

0x360AD0A2/30
0x360AD082/30
0x360ADFEC/20


so, is it a bug of RADIX?

/jack



--
View this message in context: http://freebsd.1045724.n5.nabble.com/Is-it-a-bug-of-RADIX-tp4406316p4406316.html
Sent from the freebsd-net mailing list archive at Nabble.com.


More information about the freebsd-net mailing list