I've been trying to assign a /48 to a customer, which is common I think. I can't seem to figure out how to make it not a root network.
I've tried creating using a xls import with root network set to nothing, and to "n", and I've tried creating them by hand using the "network -> new" tool, being sure not to click rootnet when creating. No matter what, the /48 shows up when searching for root netnets, and doesn't show up under end nets.
I don't seem to be able to change a network from root netowrk to non-rootnetwork anywhere, but perhaps I'm missing something.
What am I doing wrong?
-e
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Eric
Networks with prefix length < 64 are automatically inserted as root networks. They can not be inserted as "endnetworks".
Why do you have the need to insert /48 networks not as root networks?
Regards
Marc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The /48 is a Sub allocation to a customer. It'd be like giving a /24 or shorter to a customer in IPv4 land. It is entirely up to my customer to subdivide, and it's off my plate.
I don't understand the logic of automatically making it a root network unless I've indicated it as a root. Is there something similar in IPv4?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Perhaps i'm using the idea of rootnetworks and endnetworks slightly differently then anticipated. The distinction made in the documentation is that end networks contain host entries, and root networks contain other root or end networks. I also see the difficulties of turning a /48 into 2^80 host entries. Of course, you're able to do it for 2^64.
My purpose of root networks are to provide a distinction between networks that I can make further (sub)allocations against (like a /40 for customer allocations), and those that will get no further subdivided (like a /64 for a Point to Point link)
Does that make any more sense?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks Marc. I greatly appreciate the open mind. I'd be happy to chat or call regarding my use case, which is coming from a service provider point of view.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
We are currently migrating all our IP databases to this great tool GestioIP and ran into the same problem. For a carrier/hoster/ISP, it is more than common to assign networks like /56 and /48 to customers.
We figured, that this restriction applies to spreadsheet import as well as to the manual creation of network entries.
Here the lines that we identified, that might be responsible for the limitation:
Hi
Up to now I do not completely understand this requirement.
Is it because you need to manage host entries for the customer networks, but don't know in which way the customer divides their ranges?
Can you explain you requirement more in detail, please?
Thanks a lot
Marc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There are several reasons. Here are two we identified right away:
A rootnetwork is something like an aggregate/sub-aggregate/supernet, that you subdivide into smaller blocks. A non-rootnetwork can't be divided. It is assinged for one customer and nobody can by accident assign parts of that network to another customer.
A non-rootnetwork can be hidden under the rootnetwork. We don't want to see all the customer assigned networks by default.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't see the whole problem if that /48 is a root network....but:
A way around if you are desperate and want to take the risk (Warning! backup your database first; and maybe this could cause parallel problems...):
create a /32 root network, go to the database and edit the table 'net', search for your desired customer /48 network and edit the field 'rootnet' from '1' to '0'; the root will be listed as endnet BUT you won't be able to edit it (i don't know why) and you will find the /48 under the /32_root
Solution??
If you don't want to sub assign it by error or you don't want to make any new host assignement maybe there should exist a 'lock' feature; so any 'locked' network can't be edited or subnetted; what do you think?
And maybe adding a "show locked" filter could hide them from the "show networks" view.
Thanks!
Maxi
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've been trying to assign a /48 to a customer, which is common I think. I can't seem to figure out how to make it not a root network.
I've tried creating using a xls import with root network set to nothing, and to "n", and I've tried creating them by hand using the "network -> new" tool, being sure not to click rootnet when creating. No matter what, the /48 shows up when searching for root netnets, and doesn't show up under end nets.
I don't seem to be able to change a network from root netowrk to non-rootnetwork anywhere, but perhaps I'm missing something.
What am I doing wrong?
-e
Hi Eric
Networks with prefix length < 64 are automatically inserted as root networks. They can not be inserted as "endnetworks".
Why do you have the need to insert /48 networks not as root networks?
Regards
Marc
The /48 is a Sub allocation to a customer. It'd be like giving a /24 or shorter to a customer in IPv4 land. It is entirely up to my customer to subdivide, and it's off my plate.
I don't understand the logic of automatically making it a root network unless I've indicated it as a root. Is there something similar in IPv4?
btw, thanks for the reply!
Perhaps i'm using the idea of rootnetworks and endnetworks slightly differently then anticipated. The distinction made in the documentation is that end networks contain host entries, and root networks contain other root or end networks. I also see the difficulties of turning a /48 into 2^80 host entries. Of course, you're able to do it for 2^64.
My purpose of root networks are to provide a distinction between networks that I can make further (sub)allocations against (like a /40 for customer allocations), and those that will get no further subdivided (like a /64 for a Point to Point link)
Does that make any more sense?
Thanks for your reply.
I will think about if and how something like this could be implemented.
Regards
Marc
Thanks Marc. I greatly appreciate the open mind. I'd be happy to chat or call regarding my use case, which is coming from a service provider point of view.
Hi there,
We are currently migrating all our IP databases to this great tool GestioIP and ran into the same problem. For a carrier/hoster/ISP, it is more than common to assign networks like /56 and /48 to customers.
We figured, that this restriction applies to spreadsheet import as well as to the manual creation of network entries.
Here the lines that we identified, that might be responsible for the limitation:
ip_import_spreadsheet.cgi
65 my $smallest_bm6 = $config[0]->[7] || "32"
612 # Ignore row if bitmask < $smallest_bm or bitmask > 32
622 } elsif ( $entries{BM} < 32 && $ip_version eq "v6" ) {
ip_insertred.cgi
123 $rootnet_val=1 if $ip_version eq "v6" && $BM_nuevo < 32
222 $rootnet_val=1 if $ip_version eq "v6" && $BM < 32;
We thought about just dealing with this ourselves, but realised, that everytime we update GesioIP, we need to change this again.
Marc, thank you for this great tool.
Hi
Up to now I do not completely understand this requirement.
Is it because you need to manage host entries for the customer networks, but don't know in which way the customer divides their ranges?
Can you explain you requirement more in detail, please?
Thanks a lot
Marc
Hey Marc,
There are several reasons. Here are two we identified right away:
A rootnetwork is something like an aggregate/sub-aggregate/supernet, that you subdivide into smaller blocks. A non-rootnetwork can't be divided. It is assinged for one customer and nobody can by accident assign parts of that network to another customer.
A non-rootnetwork can be hidden under the rootnetwork. We don't want to see all the customer assigned networks by default.
I don't see the whole problem if that /48 is a root network....but:
A way around if you are desperate and want to take the risk (Warning! backup your database first; and maybe this could cause parallel problems...):
create a /32 root network, go to the database and edit the table 'net', search for your desired customer /48 network and edit the field 'rootnet' from '1' to '0'; the root will be listed as endnet BUT you won't be able to edit it (i don't know why) and you will find the /48 under the /32_root
Solution??
If you don't want to sub assign it by error or you don't want to make any new host assignement maybe there should exist a 'lock' feature; so any 'locked' network can't be edited or subnetted; what do you think?
And maybe adding a "show locked" filter could hide them from the "show networks" view.
Thanks!
Maxi
Ok, next patch will allow the creation of IPv6 networks with prefix length < 64 as "endnetwork".
Regards
Marc
Brilliant, thanks Marc! Looking forward to whatever comes after 3.2.
Seems to be fixed, at least with the latest version.
Excel import and manual creation both seem to work.