Class LinuxNodeConfig.NodeVfioConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
com.google.container.v1.LinuxNodeConfig.NodeVfioConfig.Builder
All Implemented Interfaces:
LinuxNodeConfig.NodeVfioConfigOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
LinuxNodeConfig.NodeVfioConfig

public static final class LinuxNodeConfig.NodeVfioConfig.Builder extends com.google.protobuf.GeneratedMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder> implements LinuxNodeConfig.NodeVfioConfigOrBuilder
 Configuration settings for VFIO (Virtual Function I/O) on a node.
 VFIO allows safe, unprivileged, userspace drivers to access I/O devices.
 
Protobuf type google.container.v1.LinuxNodeConfig.NodeVfioConfig
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
    • getDefaultInstanceForType

      public LinuxNodeConfig.NodeVfioConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public LinuxNodeConfig.NodeVfioConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public LinuxNodeConfig.NodeVfioConfig.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
    • mergeFrom

      public LinuxNodeConfig.NodeVfioConfig.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<LinuxNodeConfig.NodeVfioConfig.Builder>
      Throws:
      IOException
    • hasDmaEntryLimit

      public boolean hasDmaEntryLimit()
       Optional. Specifies the maximum number of DMA entries (pages) that can be
       mapped by the VFIO IOMMU type 1 driver for a container. This limit
       affects the total amount of host memory that can be pinned for direct
       device access, which is often critical for high-performance devices like
       TPUs and GPUs. This setting corresponds to the kernel parameter at:
       `/sys/module/vfio_iommu_type1/parameters/dma_entry_limit`.
       The default value in the kernel is `65535`. Higher values may be
       needed for workloads mapping large memory regions.
       Supported values are integers between `65535` and `4194304`.
       
      optional int32 dma_entry_limit = 1 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      hasDmaEntryLimit in interface LinuxNodeConfig.NodeVfioConfigOrBuilder
      Returns:
      Whether the dmaEntryLimit field is set.
    • getDmaEntryLimit

      public int getDmaEntryLimit()
       Optional. Specifies the maximum number of DMA entries (pages) that can be
       mapped by the VFIO IOMMU type 1 driver for a container. This limit
       affects the total amount of host memory that can be pinned for direct
       device access, which is often critical for high-performance devices like
       TPUs and GPUs. This setting corresponds to the kernel parameter at:
       `/sys/module/vfio_iommu_type1/parameters/dma_entry_limit`.
       The default value in the kernel is `65535`. Higher values may be
       needed for workloads mapping large memory regions.
       Supported values are integers between `65535` and `4194304`.
       
      optional int32 dma_entry_limit = 1 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getDmaEntryLimit in interface LinuxNodeConfig.NodeVfioConfigOrBuilder
      Returns:
      The dmaEntryLimit.
    • setDmaEntryLimit

      public LinuxNodeConfig.NodeVfioConfig.Builder setDmaEntryLimit(int value)
       Optional. Specifies the maximum number of DMA entries (pages) that can be
       mapped by the VFIO IOMMU type 1 driver for a container. This limit
       affects the total amount of host memory that can be pinned for direct
       device access, which is often critical for high-performance devices like
       TPUs and GPUs. This setting corresponds to the kernel parameter at:
       `/sys/module/vfio_iommu_type1/parameters/dma_entry_limit`.
       The default value in the kernel is `65535`. Higher values may be
       needed for workloads mapping large memory regions.
       Supported values are integers between `65535` and `4194304`.
       
      optional int32 dma_entry_limit = 1 [(.google.api.field_behavior) = OPTIONAL];
      Parameters:
      value - The dmaEntryLimit to set.
      Returns:
      This builder for chaining.
    • clearDmaEntryLimit

      public LinuxNodeConfig.NodeVfioConfig.Builder clearDmaEntryLimit()
       Optional. Specifies the maximum number of DMA entries (pages) that can be
       mapped by the VFIO IOMMU type 1 driver for a container. This limit
       affects the total amount of host memory that can be pinned for direct
       device access, which is often critical for high-performance devices like
       TPUs and GPUs. This setting corresponds to the kernel parameter at:
       `/sys/module/vfio_iommu_type1/parameters/dma_entry_limit`.
       The default value in the kernel is `65535`. Higher values may be
       needed for workloads mapping large memory regions.
       Supported values are integers between `65535` and `4194304`.
       
      optional int32 dma_entry_limit = 1 [(.google.api.field_behavior) = OPTIONAL];
      Returns:
      This builder for chaining.