mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-13 05:50:33 +01:00
Discussion: Child prefix listing in container prefixes #300
Closed
opened 2025-12-29 16:20:39 +01:00 by adam
·
10 comments
No Branch/Tag Specified
main
21102-fix-graphiql-explorer
update-changelog-comments-docs
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
No Label
type: feature
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#300
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 @Zanthras on GitHub (Jul 27, 2016).
An improvement that I found helpful was changing the behavior of a prefix of type container set to the global vrf, to show child prefixes from all vrf's. While this makes alot of sense for my environment, I'm not sure how applicable or useful that would be to others. Anyone have thoughts on it?
@malaiam commented on GitHub (Jul 28, 2016):
Hey!
I just hit this one too. I think this makes sense for all environments where VRF use is prevalent. Maybe not so useful in a DC environment, but for infrastructure / customer address management is definitely needed. I just did some tests on http://netbox-demo01.packetlife.net/ipam/prefixes/ and I found it a bit confusing at start until I figured how it works.
If the current behavior is preferred by some, maybe a knob toggling between the two could be implemented. I think this would be useful also on the main prefixes page, to show prefixes from all VRFs until a VRF is selected via the filters on the side.
Another thing is that in the current behavior, the IP addresses are listed from all VRFs even if child prefixes are not - this is a bit inconsistent.
Thanks,
Marius
@jeremystretch commented on GitHub (Jul 28, 2016):
IMO viewing a specific prefix instils some context around what you want to see. It may or may not make sense to display child prefixes from other VRFs, depending on your particular environment.
As an alternative, I suggest searching by parent prefix to show all children regardless of VRF. For example, if I want to find all children of 192.0.2.0/24, I can go to the prefixes list, enter "192.0.2.0/24" in the "search within" field, and check "expand hierarchy" at the bottom. This will return a hierarchy showing all children.
Opened #397 for this.
@Zanthras commented on GitHub (Jul 28, 2016):
I agree that a specific prefix + vrf does indicate you want to see specific information. I think the more concise summary of my request is a way to say vrf "all" for a prefix. That way its up to the end user to determine where it is or isnt the correct use case.
@malaiam commented on GitHub (Jul 28, 2016):
I still think all child prefixes, from all VRFs, should be shown, especially if the current prefix is in the global and not in a specific VRF.
Let's say that I have a prefix that is an "allocation" for some purpose - e.g. infrastructure, so it will have some child prefixes. And those child prefixes will belong to different VRFs, e.g. some in management, some in voice, etc. Then I want to go the parent prefix and make another assigment, doesn't matter in which VRF. How do I do that in a quick way so I don't make duplicate assignments?
@jeremystretch commented on GitHub (Jul 28, 2016):
It seems like it might make sense to show all children (regardless of VRF) only for prefixes which are in the global table. Does that make sense?
@malaiam commented on GitHub (Jul 28, 2016):
It does and it would probably work OK for me in most cases, but I don't see why limit it to the global VRF, besides principles. Corner cases might still allow for unwanted duplicate assignment, if the parent prefix is not in the global for some reason. I still believe displaying child prefixes from all VRFs, based on a global user setting if wanted, is a less error prone approach.
Just argumenting for a better IPAM here, otherwise I think you did a very good job so far!
@jeremystretch commented on GitHub (Jul 28, 2016):
Suppose you use 192.168.0.0/16 for each customer within their own VRF. You don't want customer A's 192.168.0.0/16 showing children in customer B's VRF. Doing so would defeat the purpose of using a VRF.
@malaiam commented on GitHub (Jul 29, 2016):
Yes, that's a valid example, so a way to see only the specific VRF prefixes should exist.
But I still think limiting for just the global to see all child prefixes, without any option for the user to change that, would open for unwanted behavior - one case is the corner case example above, when a parent prefix might be in a VRF by mistake, and another could be that some customer's IP plan overlaps with some global prefix, and hence the user seeing customer prefixes when he/she doesn't want to.
I still think the best is to allow the user to chose what he wants to see. Maybe the "knob" idea is not the best in this case. What I think the behavior should be is that in the main prefix list all prefixes should be shown (not just global) if the "All" VRF is chosen in the drop-down on the side, and probably a similar drop-down should be shown on the prefix specific page, with the current VRF selected by default if you want to.
@DanSheps commented on GitHub (Aug 2, 2016):
Just to add onto this, Global VRF would be where I would see this being used the most, but not always. Would this be something that you could add a toggle onto the individual global VRF to either contain all child prefixes regardless of VRF or not to.
@jeremystretch commented on GitHub (Aug 2, 2016):
9f3647cd53tweaks the prefix display to now include children from all VRFs if the parent is in the global table.