> On 2/3/19 9:04 AM, David Miller wrote:
>> From: Zhiqiang Liu
>> Date: Sun, 3 Feb 2019 14:10:31 +0800
>>
>>> @@ -1165,7 +1165,8 @@ enum cleanup_prefix_rt_t {
>>> list_for_each_entry(ifa, &idev->addr_list, if_list) {
>>> if (ifa == ifp)
>>> continue;
>>> -
On 2/3/19 9:04 AM, David Miller wrote:
> From: Zhiqiang Liu
> Date: Sun, 3 Feb 2019 14:10:31 +0800
>
>> @@ -1165,7 +1165,8 @@ enum cleanup_prefix_rt_t {
>> list_for_each_entry(ifa, &idev->addr_list, if_list) {
>> if (ifa == ifp)
>> continue;
>> -
From: Zhiqiang Liu
Date: Sun, 3 Feb 2019 14:10:31 +0800
> @@ -1165,7 +1165,8 @@ enum cleanup_prefix_rt_t {
> list_for_each_entry(ifa, &idev->addr_list, if_list) {
> if (ifa == ifp)
> continue;
> - if (!ipv6_prefix_equal(&ifa->addr, &ifp->addr,
From: Zhiqiang Liu
Follow those steps:
# ip addr add 2001:123::1/32 dev eth0
# ip addr add 2001:123:456::2/64 dev eth0
# ip addr del 2001:123::1/32 dev eth0
# ip addr del 2001:123:456::2/64 dev eth0
and then prefix route of 2001:123::1/32 will still exist.
This is because ipv6_prefix_equal i