рассчет маски сети CIDR в формате по IP-адресу

Resu

Новичок
рассчет маски сети CIDR в формате по IP-адресу

храню в базе CIDR - маски сетей и хочу по IP-адресу клиента найти принадлежащую ему маску.
сделать ето надо средствами postgres'a.

какие будут предложения
(простите за наглый ворос, но мое решение
(как раз сейчас буду реализовывать)
сводится к циклу от 32 до 8 и вызови функции:
PHP:
network(set_masklen( ip, i))
может кот что лучше посоветует)
 

neko

tеam neko
> select 1 where '192.168.0.0/16'::cidr >> '192.168.5.1';
?column?
----------
1
(1 row)

> select 1 where '10.0.0.0/16'::cidr >> '192.168.5.1';
?column?
----------
(0 rows)
 
Сверху