+static int
+addr_cmp(const void *k1, const void *k2, void *ptr)
+{
+ const struct device_addr *a1 = k1, *a2 = k2;
+
+ return memcmp(&a1->mask, &a2->mask,
+ sizeof(*a1) - offsetof(struct device_addr, mask));
+}
+
+static int
+route_cmp(const void *k1, const void *k2, void *ptr)
+{
+ const struct device_route *r1 = k1, *r2 = k2;
+
+ return memcmp(&r1->mask, &r2->mask,
+ sizeof(*r1) - offsetof(struct device_route, mask));
+}
+