Menu

IPv6 /48 non-root networks

2015-01-22
2015-03-10
  • Eric Oosting

    Eric Oosting - 2015-01-22

    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

     
  • Marc Uebel

    Marc Uebel - 2015-01-22

    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

     
  • Eric Oosting

    Eric Oosting - 2015-01-22

    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?

     
  • Eric Oosting

    Eric Oosting - 2015-01-22

    btw, thanks for the reply!

     
  • Eric Oosting

    Eric Oosting - 2015-01-22

    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?

     
  • Marc Uebel

    Marc Uebel - 2015-01-22

    Thanks for your reply.
    I will think about if and how something like this could be implemented.
    Regards
    Marc

     
  • Eric Oosting

    Eric Oosting - 2015-01-23

    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.

     
  • fredneuberger

    fredneuberger - 2015-02-09

    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.

     
  • Marc Uebel

    Marc Uebel - 2015-02-09

    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

     
  • fredneuberger

    fredneuberger - 2015-02-09

    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.

     
  • Maxi

    Maxi - 2015-02-09

    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

     
  • Marc Uebel

    Marc Uebel - 2015-02-09

    Ok, next patch will allow the creation of IPv6 networks with prefix length < 64 as "endnetwork".
    Regards
    Marc

     
  • Eric Oosting

    Eric Oosting - 2015-02-24

    Brilliant, thanks Marc! Looking forward to whatever comes after 3.2.

     
  • fredneuberger

    fredneuberger - 2015-03-10

    Seems to be fixed, at least with the latest version.
    Excel import and manual creation both seem to work.

     

Log in to post a comment.