summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Winship <danw@redhat.com>2009-08-20 09:29:26 -0400
committerThomas Graf <tgr@lsx.localdomain>2009-09-02 18:45:12 +0200
commite0af9e1802d4f0c49e838ff94a187f590eb9e2cd (patch)
treeb2b81a99a9a2660900ffc9acc45cf236ea2f7dbf
parent1ed227d3a9684e84b1c19e083850d5f10e94348b (diff)
downloadandroid_external_libnl-e0af9e1802d4f0c49e838ff94a187f590eb9e2cd.tar.gz
android_external_libnl-e0af9e1802d4f0c49e838ff94a187f590eb9e2cd.tar.bz2
android_external_libnl-e0af9e1802d4f0c49e838ff94a187f590eb9e2cd.zip
Fix rtnl_addr caching
addr_obj.ops.oo_id_attrs included ADDR_ATTR_PEER, so any address that didn't have a peer address set would compare as unequal to itself, meaning it could never be removed from a cache after it was added, etc.
-rw-r--r--lib/route/addr.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/route/addr.c b/lib/route/addr.c
index fa9d0f4..d14c481 100644
--- a/lib/route/addr.c
+++ b/lib/route/addr.c
@@ -907,8 +907,7 @@ static struct nl_object_ops addr_obj_ops = {
.oo_compare = addr_compare,
.oo_attrs2str = addr_attrs2str,
.oo_id_attrs = (ADDR_ATTR_FAMILY | ADDR_ATTR_IFINDEX |
- ADDR_ATTR_LOCAL | ADDR_ATTR_PREFIXLEN |
- ADDR_ATTR_PEER),
+ ADDR_ATTR_LOCAL | ADDR_ATTR_PREFIXLEN),
};
static struct nl_af_group addr_groups[] = {