BUG #9455: Subtracting an IPv6 /64 network() from its broadcast() results in an out of range error

Started by Martin A. Brooksabout 12 years ago1 messagesbugs
Jump to latest
#1Martin A. Brooks
martin@antibodymx.net

The following bug has been logged on the website:

Bug reference: 9455
Logged by: Martin A. Brooks
Email address: martin@antibodymx.net
PostgreSQL version: 9.3.3
Operating system: Kubuntu 13.10 64 bit
Description:

Hello

By accident I did this:

ipso=# select broadcast('10.0.0.0/8') - network('10.0.0.0/8');
?column?
----------
16777215
(1 row)

ipso=# select
broadcast('2001:ba8:1f1:f12c::/64')-network('2001:ba8:1f1:f12c::/64');
ERROR: result is out of range

ipso=# select broadcast('2001:ba8:1f1:f12c::/64');
broadcast
------------------------------------------
2001:ba8:1f1:f12c:ffff:ffff:ffff:ffff/64
(1 row)

ipso=# select network('2001:ba8:1f1:f12c::/64');
network
------------------------
2001:ba8:1f1:f12c::/64
(1 row)

It's arguable that broadcast doesn't make much sense for IPv6 ranges.
Special casing v6 ranges for my purposes would be fine, but this result is
more surprise that I expected.

Regards

Martin.

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs