public interface IpfConfiguration
IP fragmentation configuration.
- Author:
- Sly Technologies Inc, repos@slytechs.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringSystem property which defines the reassembly buffer for IPF (default is 1MB).static final StringSystem property which enables IPF data pass-through/forwarding (default is true).static final StringSystem property which enables reassembled and fully complete, IPF dgram injection/pass-through (default is false).static final StringSystem property which enables reassembled but incomplete, IPF dgram injection/pass-through (default is false).static final StringSystem property which enables IPF fragment tracking and reassembly (default is false).static final StringSystem property which enables IPF fragment reassembly (default true).static final StringSystem property which enables IPF fragment tracking (default false).static final StringSystem property which enables original IPF fragment pass-through (default is true).static final StringSystem property which enables attachment of reassembled dgram to the last IP fragment (default is true).static final StringSystem property which enables attachment of partially reassembled IP dgram to the last IP fragment (default is true).static final StringSystem property which defines the maximum IP datagram size (default is 64KB).static final StringSystem property which defines the maximum number of IP fragments which can be tracked at once.static final StringSystem property which defines the default table size, number of entries (default is 16K).static final StringSystem property which defines timeout period during IPF reassembly/Tracking (default is 2 seconds).static final StringSystem property which determines IPF fragment timeout for incomplete reassembly (default false).static final StringThe property ipf timeout queue size. -
Method Summary
Modifier and TypeMethodDescriptionenable(boolean enable) Enable ipf.enableAttachComplete(boolean enable) Sets the ipf attach complete.enableAttachIncomplete(boolean enable) Sets the ipf attach incomplete.enableFragments(boolean enable) Sets the ipf pass fragments.enablePassthrough(boolean enable) Enable passthrough.enableReassembly(boolean enable) Enable ipf reassembly.enableSendComplete(boolean enable) Sets the ipf pass complete.enableSendIncomplete(boolean enable) Sets the ipf pass incomplete.enableTracking(boolean enable) Enable ipf tracking.intGets the buffer size.intGets the ip max dgram bytes.intGets the ipf max frag track count.intGets the table size.longGets the timeout millis.intGets the timeout queue size.com.slytechs.jnet.jnetruntime.time.TimestampSourceGets the time source.booleanChecks if is ipf attach complete.booleanChecks if is ipf attach incomplete.booleanChecks if is enable ipf.booleanChecks if is pass fragments.booleanChecks if is ipf passthrough.booleanChecks if is enable ipf reassembly.booleanChecks if is pass dgrams complete.booleanChecks if is pass dgrams incomplete.booleanChecks if is ipf incomplete on last.booleanChecks if is enable ipf tracking.setBufferSize(long size, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit) Sets the ipf buffer size.setMaxDgramSize(long size, com.slytechs.jnet.jnetruntime.util.MemoryUnit unit) Sets the ip max dgram size.setMaxFragmentCount(int ipfMaxFragTrackCount, com.slytechs.jnet.jnetruntime.util.CountUnit unit) Sets the ipf max frag track count.setTableSize(long size, com.slytechs.jnet.jnetruntime.util.CountUnit unit) Sets the ipf table size.setTimeout(long timeout, TimeUnit unit) Sets the ipf timeout.setTimeoutOnLast(boolean lastOrTimeout) Sets the ipf incomplete on last.setTimeoutQueueSize(int size) Sets the timeout queue size.Use ipf packet timesource.Use ipf system timesource.
-
Field Details
-
PROPERTY_IPF_MAX_DGRAM_BYTES
System property which defines the maximum IP datagram size (default is 64KB).- See Also:
-
PROPERTY_IPF_TABLE_SIZE
System property which defines the default table size, number of entries (default is 16K).- See Also:
-
PROPERTY_IPF_BUFFER_SIZE
System property which defines the reassembly buffer for IPF (default is 1MB).- See Also:
-
PROPERTY_IPF_TIMEOUT
System property which defines timeout period during IPF reassembly/Tracking (default is 2 seconds).- See Also:
-
PROPERTY_IPF_TIMEOUT_QUEUE_SIZE
The property ipf timeout queue size.- See Also:
-
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
System property which enables original IPF fragment pass-through (default is true).- See Also:
-
PROPERTY_IPF_DGRAMS_SEND
System property which enables IPF data pass-through/forwarding (default is true).- See Also:
-
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
System property which enables reassembled and fully complete, IPF dgram injection/pass-through (default is false).- See Also:
-
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
System property which enables attachment of reassembled dgram to the last IP fragment (default is true).- See Also:
-
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
System property which enables IPF fragment tracking and reassembly (default is false).- See Also:
-
PROPERTY_IPF_ENABLE_REASSEMBLY
System property which enables IPF fragment reassembly (default true).- See Also:
-
PROPERTY_IPF_ENABLE_TRACKING
System property which enables IPF fragment tracking (default false).- See Also:
-
-
Method Details
-
enable
Enable ipf.- Parameters:
enable- the enable- Returns:
- the ipf configuration
-
enableAttachComplete
Sets the ipf attach complete.- Parameters:
enable- the ipfAttachComplete to set- Returns:
- the ipf configuration
-
enableAttachIncomplete
Sets the ipf attach incomplete.- Parameters:
enable- the ipfAttachIncomplete to set- Returns:
- the ipf configuration
-
enablePassthrough
Enable passthrough.- Parameters:
enable- the enable- Returns:
- the ipf configuration
-
enableSendComplete
Sets the ipf pass complete.- Parameters:
enable- the passDgramsComplete to set- Returns:
- the ipf configuration
-
enableFragments
Sets the ipf pass fragments.- Parameters:
enable- the passFragments to set- Returns:
- the ipf configuration
-
enableSendIncomplete
Sets the ipf pass incomplete.- Parameters:
enable- the passDgramsIncomplete to set- Returns:
- the ipf configuration
-
enableReassembly
Enable ipf reassembly.- Parameters:
enable- the enable- Returns:
- the ipf configuration
-
enableTracking
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
Sets the ipf buffer size.- Parameters:
size- the sizeunit- the unit- Returns:
- the ipf configuration
-
setMaxDgramSize
Sets the ip max dgram size.- Parameters:
size- the sizeunit- 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 setunit- the unit- Returns:
- the ipf configuration
-
setTableSize
Sets the ipf table size.- Parameters:
size- the sizeunit- the unit- Returns:
- the ipf configuration
-
setTimeout
Sets the ipf timeout.- Parameters:
timeout- the timeoutunit- the unit- Returns:
- the ipf configuration
-
setTimeoutOnLast
Sets the ipf incomplete on last.- Parameters:
lastOrTimeout- the last or timeout- Returns:
- the ipf configuration
-
setTimeoutQueueSize
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
-