E2SAR 0.2.0
All Data Structures Namespaces Functions Typedefs Enumerations
e2sar::Segmenter::SegmenterFlags Struct Reference

#include <e2sarDPSegmenter.hpp>

Static Public Member Functions

static result< SegmenterFlagsgetFromINI (const std::string &iniFile) noexcept
 

Data Fields

bool dpV6
 
bool connectedSocket
 
bool useCP
 
u_int16_t warmUpMs
 
u_int16_t syncPeriodMs
 
u_int16_t syncPeriods
 
u_int16_t mtu
 
size_t numSendSockets
 
int sndSocketBufSize
 
float rateGbps
 
bool multiPort
 

Detailed Description

Because of the large number of constructor parameters in Segmenter we make this a structure with sane defaults

  • dpV6 - prefer V6 dataplane if the URI specifies both data=<ipv4>&data=<ipv6> addresses {false}
  • connectedSocket - use connected sockets {true}
  • useCP - enable control plane to send Sync packets {true}
  • warmUpMs - a period of sending sync messages before data is allowed {1000}
  • syncPeriodMs - sync thread period in milliseconds {1000}
  • syncPerods - number of sync periods to use for averaging reported send rate {2}
  • mtu - size of the MTU to attempt to fit the segmented data in (must accommodate IP, UDP and LBRE headers). Value of 0 means auto-detect based on MTU of outgoing interface
  • Linux only {1500}
  • numSendSockets - number of sockets/source ports we will be sending data from. The more, the more randomness the LAG will see in delivering to different FPGA ports. {4}
  • sndSocketBufSize - socket buffer size for sending set via SO_SNDBUF setsockopt. Note that this requires systemwide max set via sysctl (net.core.wmem_max) to be higher. {3MB}
  • rateGbps - send rate as floating point expression in Gbps. Negative value means unlimited. {-1.0}
  • multiPort - use numSendSockets consecutive destination ports starting from EjfatURI data port, rather than a single port; source ports are still randomized (incompatible with a load balancer, only useful in back-to-back testing) {false}

Member Function Documentation

◆ getFromINI()

result< Segmenter::SegmenterFlags > e2sar::Segmenter::SegmenterFlags::getFromINI ( const std::string & iniFile)
staticnoexcept

Initialize flags from an INI file

Parameters
iniFile- path to the INI file

The documentation for this struct was generated from the following files: