Uploaded image for project: 'OpenShift Request For Enhancement'
  1. OpenShift Request For Enhancement
  2. RFE-3593

IPV6: allow changing the hostPrefix to smaller than /64

XMLWordPrintable

    • False
    • None
    • False
    • Not Selected

      1. Proposed title of this feature request

      IPV6: allow changing the hostPrefix to smaller than /64

       

      2. What is the nature and description of the request?

      Per the customer, they don't believe that the hostPrefix for the ClusterNetwork CIDR should require /64. They believe they should be able to scope this to something smaller such as a /112 or /120 or even /80.

      They have also cited that Docker allows for a /80: 

      https://gdevillele.github.io/engine/userguide/networking/default_network/ipv6/

      "That would be good enough. /112 or /120 seems more reasonable and similar to what we do with ipv4. I want to be able to support a 200-500 node cluster and not have any address overlap between clusters. Think of allocating a single ULA (/48) and then being able to assign /56 to each cluster. That still give me 250 clusters with 250 hosts from a single ULA."

      Per the documentation  [1], it specifies

      • Specify an object with the CIDR and hostPrefix fields. The host prefix must be 64 or greater. The IPv6 CIDR prefix must be large enough to accommodate the specified host prefix.
      • Specify an IPv6 CIDR with a prefix of 112. Kubernetes uses only the lowest 16 bits. For a prefix of 112, IP addresses are assigned from 112 to 128 bits.

      This would be like this

      op: add
        path: /spec/clusterNetwork/-
        value: 
          cidr: fd01::/48
          hostPrefix: 64
      

      but customer is more so wanting to be able to configure like such minimum

      op: add
        path: /spec/clusterNetwork/-
        value: 
          cidr: fd01::/64
          hostPrefix: 80
       

      3. Why does the customer need this? (List the business requirements here)

      Per their response: 

      "My worry is around the need to have large CIDR blocks for clusterNetwork.
      This means we get into a address reuse situation.
      Several features have problems with address reuse.
      HyperShift, Service Mesh, Submariner.

      It is nice to try and avoid this situation. ipv6 was designed to do this and due to software practices we are being driven to have address reuse.

      It is annoying to be forced each host to reserve a /64 and not be able to use a smaller CIDR.

      Allocating a /48 per cluster will make it so that we will end up with address reuse"

      4. List any affected packages or components.

      OVN-Kubernetes, CRI-O

       

       

       

       [1] https://access.redhat.com/documentation/en-us/openshift_container_platform/4.11/html-single/networking/index

              mcurry@redhat.com Marc Curry
              rhn-support-acardena Albert Cardenas
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: