Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 255575
b: refs/heads/master
c: e6146e8
h: refs/heads/master
i:
  255573: 92d1680
  255571: 5a74f4f
  255567: e791b8b
v: v3
  • Loading branch information
Jozsef Kadlecsik authored and Patrick McHardy committed Jun 16, 2011
1 parent 8ec5ee7 commit c5ec092
Show file tree
Hide file tree
Showing 9 changed files with 16 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f3dfd1538f26f1ecf86daaf3d0c321d87e5de041
refs/heads/master: e6146e8684ed6dd4c0ff85ca21bf4324114fbbfa
6 changes: 6 additions & 0 deletions trunk/include/linux/netfilter/ipset/pfxlen.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,10 @@ ip_set_hostmask6(u8 pfxlen)

extern u32 ip_set_range_to_cidr(u32 from, u32 to, u8 *cidr);

#define ip_set_mask_from_to(from, to, cidr) \
do { \
from &= ip_set_hostmask(cidr); \
to = from | ~ip_set_hostmask(cidr); \
} while (0)

#endif /*_PFXLEN_H */
6 changes: 2 additions & 4 deletions trunk/net/netfilter/ipset/ip_set_bitmap_ip.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,7 @@ bitmap_ip_uadt(struct ip_set *set, struct nlattr *tb[],

if (cidr > 32)
return -IPSET_ERR_INVALID_CIDR;
ip &= ip_set_hostmask(cidr);
ip_to = ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(ip, ip_to, cidr);
} else
ip_to = ip;

Expand Down Expand Up @@ -478,8 +477,7 @@ bitmap_ip_create(struct ip_set *set, struct nlattr *tb[], u32 flags)

if (cidr >= 32)
return -IPSET_ERR_INVALID_CIDR;
first_ip &= ip_set_hostmask(cidr);
last_ip = first_ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(first_ip, last_ip, cidr);
} else
return -IPSET_ERR_PROTOCOL;

Expand Down
2 changes: 1 addition & 1 deletion trunk/net/netfilter/ipset/ip_set_bitmap_ipmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ bitmap_ipmac_create(struct ip_set *set, struct nlattr *tb[],

if (cidr >= 32)
return -IPSET_ERR_INVALID_CIDR;
last_ip = first_ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(first_ip, last_ip, cidr);
} else
return -IPSET_ERR_PROTOCOL;

Expand Down
3 changes: 1 addition & 2 deletions trunk/net/netfilter/ipset/ip_set_hash_ip.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,7 @@ hash_ip4_uadt(struct ip_set *set, struct nlattr *tb[],

if (cidr > 32)
return -IPSET_ERR_INVALID_CIDR;
ip &= ip_set_hostmask(cidr);
ip_to = ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(ip, ip_to, cidr);
} else
ip_to = ip;

Expand Down
3 changes: 1 addition & 2 deletions trunk/net/netfilter/ipset/ip_set_hash_ipport.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,7 @@ hash_ipport4_uadt(struct ip_set *set, struct nlattr *tb[],

if (cidr > 32)
return -IPSET_ERR_INVALID_CIDR;
ip &= ip_set_hostmask(cidr);
ip_to = ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(ip, ip_to, cidr);
} else
ip_to = ip;

Expand Down
3 changes: 1 addition & 2 deletions trunk/net/netfilter/ipset/ip_set_hash_ipportip.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,7 @@ hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[],

if (cidr > 32)
return -IPSET_ERR_INVALID_CIDR;
ip &= ip_set_hostmask(cidr);
ip_to = ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(ip, ip_to, cidr);
} else
ip_to = ip;

Expand Down
6 changes: 2 additions & 4 deletions trunk/net/netfilter/ipset/ip_set_hash_ipportnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,7 @@ hash_ipportnet4_uadt(struct ip_set *set, struct nlattr *tb[],

if (cidr > 32)
return -IPSET_ERR_INVALID_CIDR;
ip &= ip_set_hostmask(cidr);
ip_to = ip | ~ip_set_hostmask(cidr);
ip_set_mask_from_to(ip, ip_to, cidr);
}

port_to = port = ntohs(data.port);
Expand All @@ -273,8 +272,7 @@ hash_ipportnet4_uadt(struct ip_set *set, struct nlattr *tb[],
if (ip2_from + UINT_MAX == ip2_to)
return -IPSET_ERR_HASH_RANGE;
} else {
ip2_from &= ip_set_hostmask(data.cidr);
ip2_to = ip2_from | ~ip_set_hostmask(data.cidr);
ip_set_mask_from_to(ip2_from, ip2_to, data.cidr);
}

if (retried)
Expand Down
3 changes: 1 addition & 2 deletions trunk/net/netfilter/ipset/ip_set_hash_netport.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,7 @@ hash_netport4_uadt(struct ip_set *set, struct nlattr *tb[],
if (ip + UINT_MAX == ip_to)
return -IPSET_ERR_HASH_RANGE;
} else {
ip &= ip_set_hostmask(data.cidr);
ip_to = ip | ~ip_set_hostmask(data.cidr);
ip_set_mask_from_to(ip, ip_to, data.cidr);
}

if (retried)
Expand Down

0 comments on commit c5ec092

Please sign in to comment.