@@ -15,7 +15,8 @@ static int address_pool_new(
1515 const union in_addr_union * u ,
1616 unsigned prefixlen ) {
1717
18- AddressPool * p ;
18+ _cleanup_free_ AddressPool * p = NULL ;
19+ int r ;
1920
2021 assert (m );
2122 assert (u );
@@ -31,8 +32,11 @@ static int address_pool_new(
3132 .in_addr = * u ,
3233 };
3334
34- LIST_PREPEND (address_pools , m -> address_pools , p );
35+ r = ordered_set_ensure_put (& m -> address_pools , NULL , p );
36+ if (r < 0 )
37+ return r ;
3538
39+ TAKE_PTR (p );
3640 return 0 ;
3741}
3842
@@ -55,17 +59,6 @@ static int address_pool_new_from_string(
5559 return address_pool_new (m , family , & u , prefixlen );
5660}
5761
58- void address_pool_free (AddressPool * p ) {
59-
60- if (!p )
61- return ;
62-
63- if (p -> manager )
64- LIST_REMOVE (address_pools , p -> manager -> address_pools , p );
65-
66- free (p );
67- }
68-
6962int address_pool_setup_default (Manager * m ) {
7063 int r ;
7164
@@ -76,15 +69,15 @@ int address_pool_setup_default(Manager *m) {
7669 if (r < 0 )
7770 return r ;
7871
79- r = address_pool_new_from_string (m , AF_INET , "10.0 .0.0" , 8 );
72+ r = address_pool_new_from_string (m , AF_INET , "192.168 .0.0" , 16 );
8073 if (r < 0 )
8174 return r ;
8275
8376 r = address_pool_new_from_string (m , AF_INET , "172.16.0.0" , 12 );
8477 if (r < 0 )
8578 return r ;
8679
87- r = address_pool_new_from_string (m , AF_INET , "192.168 .0.0" , 16 );
80+ r = address_pool_new_from_string (m , AF_INET , "10.0 .0.0" , 8 );
8881 if (r < 0 )
8982 return r ;
9083
@@ -187,7 +180,7 @@ int address_pool_acquire(Manager *m, int family, unsigned prefixlen, union in_ad
187180 assert (prefixlen > 0 );
188181 assert (found );
189182
190- LIST_FOREACH ( address_pools , p , m -> address_pools ) {
183+ ORDERED_SET_FOREACH ( p , m -> address_pools ) {
191184 r = address_pool_acquire_one (p , family , prefixlen , found );
192185 if (r != 0 )
193186 return r ;
0 commit comments