netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
16.17k stars 2.59k forks source link

IPv6 address assignment to interface is enforcing Network Address limitations. #13052

Closed nzurku closed 1 year ago

nzurku commented 1 year ago

NetBox version

v3.5.1

Python version

3.10

Steps to Reproduce

Create and IPv6 address that lands on the "network address". Assign this to an interface. Example, 2600::/64

Expected Behavior

There are no "network addresses" in IPv6 that are impossible to use on network devices. Or possibly, whatever validation this is triggering was meant to be IPv4 only.

I would expect this address and ones like it to be assignable to an interface as it was before in ~v3.5.1 and earlier.

Observed Behavior

A validation error appears "2600::/64 is a network ID, which may not be assigned to an interface."

johannwagner commented 1 year ago

This was fixed in v3.5.4, ran into the same issue.

jeremystretch commented 1 year ago

I believe this is a duplicate of #12687 and, as mentioned, was fixed in v3.5.4.

nzurku commented 1 year ago

I hate reopening things, but I think there is some confusion or another issue here. I am already running 3.5.4.

This bug is also reproducible on the public demo of Netbox.

Try to add 2600::/64 to this interface: https://demo.netbox.dev/ipam/ip-addresses/add/?device=95&interface=973&return_url=/dcim/interfaces/973/

jsenecal commented 1 year ago

I hate reopening things, but I think there is some confusion or another issue here. I am already running 3.5.4.

This bug is also reproducible on the public demo of Netbox.

Try to add 2600::/64 to this interface: https://demo.netbox.dev/ipam/ip-addresses/add/?device=95&interface=973&return_url=/dcim/interfaces/973/

The first IPv6 address in a network is assignable, but it is the router anycast address, one of several required anycast addresses. (Anycast addresses are unicast addresses that are assigned to multiple hosts.) This is defined by RFC 4291, IP Version 6 Addressing Architecture

Perhaps the error message needs to be clarified to better explain this instead of the message we currently get. Or, we could do as suggested here: https://github.com/netbox-community/netbox/issues/12687#issuecomment-1579059777 but, either way, that would require a FR in that direction.

edit: wrong link