Class DefragmentationOptions

Class Documentation

class peafowl::DefragmentationOptions

The DefragmentationOptions class describes options to customize Peafowl’s defragmentation routines.

Public Functions

DefragmentationOptions()

Constructor.

void enableIPv4(uint16_t tableSize)

Enables IPv4 defragmentation. It is enabled by default.

Parameters
  • tableSize: The size of the table to be used to store IPv4 fragments informations.

void enableIPv6(uint16_t tableSize)

Enables IPv6 defragmentation. It is enabled by default.

Parameters
  • tableSize: The size of the table to be used to store IPv6 fragments informations.

void setPerHostMemoryLimitIPv4(uint32_t perHostMemoryLimit)

Sets the amount of memory (in bytes) that a single host can use for IPv4 defragmentation.

Parameters
  • perHostMemoryLimit: The maximum amount of memory that any IPv4 host can use.

void setPerHostMemoryLimitIPv6(uint32_t perHostMemoryLimit)

Sets the amount of memory (in bytes) that a single host can use for IPv6 defragmentation.

Parameters
  • perHostMemoryLimit: The maximum amount of memory that any IPv6 host can use.

void setTotalMemoryLimitIPv4(uint32_t totalMemoryLimit)

Sets the total amount of memory (in bytes) that can be used for IPv4 defragmentation. If defragmentation is disabled and then enabled again, this function must be called again.

Parameters
  • totalMemoryLimit: The maximum amount of memory that can be used for IPv4 defragmentation.

void setTotalMemoryLimitIPv6(uint32_t totalMemoryLimit)

Sets the total amount of memory (in bytes) that can be used for IPv6 defragmentation. If defragmentation is disabled and then enabled again, this function must be called again.

Parameters
  • totalMemoryLimit: The maximum amount of memory that can be used for IPv6 defragmentation.

void setReassemblyTimeoutIPv4(uint8_t timeoutSeconds)

Sets the maximum time (in seconds) that can be spent to reassembly an IPv4 fragmented datagram. Is the maximum time gap between the first and last fragments of the datagram.

Parameters
  • timeoutSeconds: The reassembly timeout.

void setReassemblyTimeoutIPv6(uint8_t timeoutSeconds)

Sets the maximum time (in seconds) that can be spent to reassembly an IPv6 fragmented datagram. Is the maximum time gap between the first and last fragments of the datagram.

Parameters
  • timeoutSeconds: The reassembly timeout.

void disableIPv4()

Disables IPv4 defragmentation.

void disableIPv6()

Disables IPv6 defragmentation.