Interface IpfConfiguration


public interface IpfConfiguration
IP fragmentation configuration.
Author:
Sly Technologies Inc, repos@slytechs.com
  • Field Details

    • PROPERTY_IPF_MAX_DGRAM_BYTES

      static final String PROPERTY_IPF_MAX_DGRAM_BYTES
      System property which defines the maximum IP datagram size (default is 64KB).
      See Also:
    • PROPERTY_IPF_TABLE_SIZE

      static final String PROPERTY_IPF_TABLE_SIZE
      System property which defines the default table size, number of entries (default is 16K).
      See Also:
    • PROPERTY_IPF_BUFFER_SIZE

      static final String PROPERTY_IPF_BUFFER_SIZE
      System property which defines the reassembly buffer for IPF (default is 1MB).
      See Also:
    • PROPERTY_IPF_TIMEOUT

      static final String PROPERTY_IPF_TIMEOUT
      System property which defines timeout period during IPF reassembly/Tracking (default is 2 seconds).
      See Also:
    • PROPERTY_IPF_TIMEOUT_QUEUE_SIZE

      static final String PROPERTY_IPF_TIMEOUT_QUEUE_SIZE
      The property ipf timeout queue size.
      See Also:
    • PROPERTY_IPF_TIMEOUT_ON_LAST

      static final String PROPERTY_IPF_TIMEOUT_ON_LAST
      System property which determines IPF fragment timeout for incomplete reassembly (default false). When true, IPF will stop reassembling when last fragment is seen even when Dgram is incomplete. If false the IPF reassembly will timeout/stop when timeout interval expires.
      See Also:
    • PROPERTY_IPF_FRAGS_PASS

      static final String PROPERTY_IPF_FRAGS_PASS
      System property which enables original IPF fragment pass-through (default is true).
      See Also:
    • PROPERTY_IPF_DGRAMS_SEND

      static final String PROPERTY_IPF_DGRAMS_SEND
      System property which enables IPF data pass-through/forwarding (default is true).
      See Also:
    • PROPERTY_IPF_DGRAMS_SEND_INCOMPLETE

      static final String PROPERTY_IPF_DGRAMS_SEND_INCOMPLETE
      System property which enables reassembled but incomplete, IPF dgram injection/pass-through (default is false).
      See Also:
    • PROPERTY_IPF_DGRAMS_SEND_COMPLETE

      static final String PROPERTY_IPF_DGRAMS_SEND_COMPLETE
      System property which enables reassembled and fully complete, IPF dgram injection/pass-through (default is false).
      See Also:
    • PROPERTY_IPF_MAX_FRAGMENT_COUNT

      static final String PROPERTY_IPF_MAX_FRAGMENT_COUNT
      System property which defines the maximum number of IP fragments which can be tracked at once.
      See Also:
    • PROPERTY_IPF_FRAGS_PASS_COMPLETE

      static final String PROPERTY_IPF_FRAGS_PASS_COMPLETE
      System property which enables attachment of reassembled dgram to the last IP fragment (default is true).
      See Also:
    • PROPERTY_IPF_FRAGS_PASS_INCOMPLETE

      static final String PROPERTY_IPF_FRAGS_PASS_INCOMPLETE
      System property which enables attachment of partially reassembled IP dgram to the last IP fragment (default is true).
      See Also:
    • PROPERTY_IPF_ENABLE

      static final String PROPERTY_IPF_ENABLE
      System property which enables IPF fragment tracking and reassembly (default is false).
      See Also:
    • PROPERTY_IPF_ENABLE_REASSEMBLY

      static final String PROPERTY_IPF_ENABLE_REASSEMBLY
      System property which enables IPF fragment reassembly (default true).
      See Also:
    • PROPERTY_IPF_ENABLE_TRACKING

      static final String PROPERTY_IPF_ENABLE_TRACKING
      System property which enables IPF fragment tracking (default false).
      See Also:
  • Method Details

    • enable

      IpfConfiguration enable(boolean enable)
      Enable ipf.
      Parameters:
      enable - the enable
      Returns:
      the ipf configuration
    • enableAttachComplete

      IpfConfiguration enableAttachComplete(boolean enable)
      Sets the ipf attach complete.
      Parameters:
      enable - the ipfAttachComplete to set
      Returns:
      the ipf configuration
    • enableAttachIncomplete

      IpfConfiguration enableAttachIncomplete(boolean enable)
      Sets the ipf attach incomplete.
      Parameters:
      enable - the ipfAttachIncomplete to set
      Returns:
      the ipf configuration
    • enablePassthrough

      IpfConfiguration enablePassthrough(boolean enable)
      Enable passthrough.
      Parameters:
      enable - the enable
      Returns:
      the ipf configuration
    • enableSendComplete

      IpfConfiguration enableSendComplete(boolean enable)
      Sets the ipf pass complete.
      Parameters:
      enable - the passDgramsComplete to set
      Returns:
      the ipf configuration
    • enableFragments

      IpfConfiguration enableFragments(boolean enable)
      Sets the ipf pass fragments.
      Parameters:
      enable - the passFragments to set
      Returns:
      the ipf configuration
    • enableSendIncomplete

      IpfConfiguration enableSendIncomplete(boolean enable)
      Sets the ipf pass incomplete.
      Parameters:
      enable - the passDgramsIncomplete to set
      Returns:
      the ipf configuration
    • enableReassembly

      IpfConfiguration enableReassembly(boolean enable)
      Enable ipf reassembly.
      Parameters:
      enable - the enable
      Returns:
      the ipf configuration
    • enableTracking

      IpfConfiguration enableTracking(boolean enable)
      Enable ipf tracking.
      Parameters:
      enable - the enable
      Returns:
      the ipf configuration
    • getBufferSize

      int getBufferSize()
      Gets the buffer size.
      Returns:
      the bufferSize
    • getMaxDgramBytes

      int getMaxDgramBytes()
      Gets the ip max dgram bytes.
      Returns:
      the ipMaxDgramBytes
    • getMaxFragmentCount

      int getMaxFragmentCount()
      Gets the ipf max frag track count.
      Returns:
      the ipfMaxFragTrackCount
    • getTableSize

      int getTableSize()
      Gets the table size.
      Returns:
      the tableSize
    • getTimeoutMilli

      long getTimeoutMilli()
      Gets the timeout millis.
      Returns:
      the timeoutMillis
    • getTimeoutQueueSize

      int getTimeoutQueueSize()
      Gets the timeout queue size.
      Returns:
      the timeout queue size
    • getTimeSource

      com.slytechs.jnet.jnetruntime.time.TimestampSource getTimeSource()
      Gets the time source.
      Returns:
      the timeSource
    • isAttachComplete

      boolean isAttachComplete()
      Checks if is ipf attach complete.
      Returns:
      the ipfAttachComplete
    • isAttachIncomplete

      boolean isAttachIncomplete()
      Checks if is ipf attach incomplete.
      Returns:
      the ipfAttachIncomplete
    • isEnabled

      boolean isEnabled()
      Checks if is enable ipf.
      Returns:
      the enableIpf
    • isTimeoutOnLast

      boolean isTimeoutOnLast()
      Checks if is ipf incomplete on last.
      Returns:
      true, if is ipf incomplete on last
    • isPassthrough

      boolean isPassthrough()
      Checks if is ipf passthrough.
      Returns:
      true, if is ipf passthrough
    • isSendComplete

      boolean isSendComplete()
      Checks if is pass dgrams complete.
      Returns:
      the passDgramsComplete
    • isPassFragments

      boolean isPassFragments()
      Checks if is pass fragments.
      Returns:
      the passFragments
    • isSendIncomplete

      boolean isSendIncomplete()
      Checks if is pass dgrams incomplete.
      Returns:
      the passDgramsIncomplete
    • isReassemblyEnabled

      boolean isReassemblyEnabled()
      Checks if is enable ipf reassembly.
      Returns:
      the enableIpfReassembly
    • isTrackingEnabled

      boolean isTrackingEnabled()
      Checks if is enable ipf tracking.
      Returns:
      the enableIpfTracking
    • setBufferSize

      IpfConfiguration setBufferSize(long size, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit)
      Sets the ipf buffer size.
      Parameters:
      size - the size
      unit - the unit
      Returns:
      the ipf configuration
    • setMaxDgramSize

      IpfConfiguration setMaxDgramSize(long size, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit)
      Sets the ip max dgram size.
      Parameters:
      size - the size
      unit - the unit
      Returns:
      the ipf configuration
    • setMaxFragmentCount

      IpfConfiguration setMaxFragmentCount(int ipfMaxFragTrackCount, com.slytechs.jnet.jnetruntime.util.CountUnit unit)
      Sets the ipf max frag track count.
      Parameters:
      ipfMaxFragTrackCount - the ipfMaxFragTrackCount to set
      unit - the unit
      Returns:
      the ipf configuration
    • setTableSize

      IpfConfiguration setTableSize(long size, com.slytechs.jnet.jnetruntime.util.CountUnit unit)
      Sets the ipf table size.
      Parameters:
      size - the size
      unit - the unit
      Returns:
      the ipf configuration
    • setTimeout

      IpfConfiguration setTimeout(long timeout, TimeUnit unit)
      Sets the ipf timeout.
      Parameters:
      timeout - the timeout
      unit - the unit
      Returns:
      the ipf configuration
    • setTimeoutOnLast

      IpfConfiguration setTimeoutOnLast(boolean lastOrTimeout)
      Sets the ipf incomplete on last.
      Parameters:
      lastOrTimeout - the last or timeout
      Returns:
      the ipf configuration
    • setTimeoutQueueSize

      IpfConfiguration setTimeoutQueueSize(int size)
      Sets the timeout queue size.
      Parameters:
      size - the size
      Returns:
      the ipf configuration
    • usePacketTimesource

      IpfConfiguration usePacketTimesource()
      Use ipf packet timesource.
      Returns:
      the ipf configuration
    • useSystemTimesource

      IpfConfiguration useSystemTimesource()
      Use ipf system timesource.
      Returns:
      the ipf configuration