mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Link Between IPv4 Prefix And IPv6 Prefix #4540
Closed
opened 2025-12-29 18:37:06 +01:00 by adam
·
18 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#4540
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rabin-io on GitHub (Feb 8, 2021).
Environment
Proposed Functionality
An option to link an IPv4 prefix to IPv6 prefix.
Use Case
In PHP-IPAM we had this option to link between IPv4 and IPv6 prefixes,
as we started using more IPv6 in our networks, and we run in dual-stack
(meaning the hosts and services are accessible by IPv4 and IPv6 address),
So we had to keep track which IPv6 prefix we assigned to which IPv4 prefix (you can see an example pictures below)
Database Changes
Not sure.
External Dependencies
Not sure.
@ypid commented on GitHub (Feb 8, 2021):
Aren’t both prefixes assigned to the same VLAN in reality which implicitly links them?
@jeremystretch commented on GitHub (Feb 8, 2021):
This needs much more detail to be worthy of discussion. Please extend your issue to elaborate on what specific changes you are proposing.
@rabin-io commented on GitHub (Feb 10, 2021):
This is an option we have with phpIPAM and it is very simple but very helpful in my opinion. You can link one subnet to another, it's nothing fancy just a pointer to another subnet id, but it gives you a better view of which address are used on each segment.
As you can see in the screen shot
@ypid , I didn't check the VLAN option, not sure it's the same
@ypid commented on GitHub (Feb 10, 2021):
Not the same but it can solve your issue. Check it out :)
@rabin-io commented on GitHub (Feb 10, 2021):
I see, not the same but usable I guess :)
Currently I do not use VLAN's on these networks, So I do not know if I want to solve the problem this way, Because it means I'm declaring something that does not exist, And I'm afraid it might come back and bite me in the ass in the future 😅
@ypid commented on GitHub (Feb 10, 2021):
Ah, so IaaS or similar I assume. Then maybe don’t fake the VLAN because NetBox is meant to replicate the real world. I thought you might actually use VLANs. Then consider using tags.
Also, you really should update your initial comment. More details are needed.
@rabin-io commented on GitHub (Feb 10, 2021):
Hopefully yes, but tagging is defiantly not the right way ;)
@DanSheps commented on GitHub (Feb 11, 2021):
I can see what you want here. You basically want a way of grouping IP subnets (IPv4 & IPv6) into one "network" (example could be vlans or a point-to-point network on a layer 3 interface).
We already have the vlan piece in place, we could just add a "related subnets" field in the UI to show the related subnets within the vlan. However this falls down when you use a strictly L3 connection between two devices or any other use case. Perhaps a "IP Group" option might be needed or similar.
Another alternative would be using sites to link like subnets together. However the blast radius is pretty large on that (you could have multiple prefixes within a site).
Currently the tools are that could be used to model this are:
Please re-adjust your FR to propose a solution that suits your needs as well as include detailed use-cases where you can't replicate the functionality with existing tools or use the existing tools listed above to get the desired results (example, when a prefix is in the same site and has the same role, "link" them together as related prefixes).
@rabin-io commented on GitHub (Feb 16, 2021):
I guess since I got the option in the previous software, And the application was sufficient for that time (mainly documentation and allocation management), I did not think about it too much.
But now we want to centralize all the documentation of the networks and infrastructure under NETBOX and build SOURCE-OF-TRUTH for automation and IaaC (NETBOX's API was the main reason for the move).
I understand that the implementation of this feature needs to be clearer, both at the WEB interface level and at the API level. But I still can not describe exactly how I want to use or consume the option.
Right now the ability to document the connection between two networks meets my needs, but I would love if we could discuss the issue in more depth and refine a more accurate requirement that could meet a number of needs. 🙏
@991jo commented on GitHub (May 8, 2021):
I am also interested in a feature like this. My usecase is for Prefixes from which we allocate smaller prefixes or single addresses e.g. Loopbacks.
For example we have several Prefixes for VM addresses (we are running a complete L3 datacenter, every VM address is a host route). Of course everything is dual stacked. In our environment there is a mapping between IPv4 and IPv6 Prefixes, e.g. if a VMs IPv4 address is from 10.0.0.0/24 then the IPv6 address should be from 2001:db8::/64. Remembering what the associated prefix in the other protocol family was is not fun and a field would really help.
But this could also be implemented as a plugin.
@jeremystretch commented on GitHub (May 12, 2021):
IMO maintaining a direct mapping of IPv4 to IPv6 prefixes is poor practice and should be discouraged: The two are entirely independent address families with different rules and design considerations. As @DanSheps points out, there are already numerous attributes by which IPv4 and IPv6 prefixes can be correlated without adding a direct relationship.
@rabin-io commented on GitHub (May 13, 2021):
Maybe in a ideal world where IPv6 took over and IPv4 was a relic of the past, but even now (20+ years after IPv6 was introduced) we still leaning on IPv4 more then IPv6, and as one of many how have two sets of pools (IPv4 & IPv6) and would like to expose more services over IPv6, The most practical way will be to run in a Dual-Stack mode. And by having this small piece of meta data (which IPv6 prefix was assigned to which IPv4 prefix) helps (a lot).
And as I mention before, this is nothing new, other tools have this option available in them, meaning there was a need for it. And I think it will be a functionality that many more people will be happy to have.
🙏
@jeremystretch commented on GitHub (May 13, 2021):
I was referring to dual-stack implementations. My point is that there is already effective correlation between the IPv4 and IPv6 prefixes, and that adding an explicit relationship is redundant.
@rabin-io commented on GitHub (May 14, 2021):
If you are referring to the use of VLAN to aggregate them, this option is not working for our use case, as we are not using vlans. And I prefer my source of truth to be as close as possible to the real state of my infrastructure.
Also there are cases where you can have the same VLAN number used in several places on the same DC/Cage/Rack, which make the use of VLAN to aggregate the prefix's not usable.
@jeremystretch commented on GitHub (May 18, 2021):
In today's maintainers' meeting, the idea was raised to simply display peer prefixes (correlated by assigned VLAN) in the prefix view. That seems like it would serve effectively the same function in most cases without needing to define an explicit relationship between prefixes.
@rabin-io commented on GitHub (May 18, 2021):
Will that require to assigned a prefix to a VLAN to make it to work ?
@github-actions[bot] commented on GitHub (Jul 18, 2021):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.
@github-actions[bot] commented on GitHub (Aug 17, 2021):
This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.