ntservice.ini file
The static configuration is defined in the ntservice.ini file and is activated during start-up of ntservice. An example of the ntservice.ini file can be seen in Example. The parameters include:
- Definition of the SmartNICs
- Definition of the time synchronization
- NUMA node configuration
- Definition of the number of host buffers and the NUMA (non-uniform memory access – CPU memory sharing) nodes they belong to
- Definition of the default packet descriptors used
- Definition of the time stamp format used
The parameters are grouped according to their use.
ntservice.ini.txt file
The ntservice.ini.txt file explains the different parameters in the ntservice.ini file and lists which SmartNICs support which values.
System level parameters
A number of the parameters that can be set in the ntservice.ini file are at the system level. They appear under the heading [System].
Logging parameters
A number of the parameters that can be set in the ntservice.ini file are used for logging. They appear under the heading [Logging].
SmartNIC-related parameters
A number of the parameters that can be set in the ntservice.ini file are SmartNIC-related. Some of these are specific to a single SmartNIC. They appear under a heading with the name of the SmartNIC, for instance [Adapter0]. Some are common for a SmartNIC of a specific type. They appear under a heading with the name of the SmartNIC type, for instance [NT20E3_2_PTP].
Example
This is a typical example of an ntservice.ini configuration file.
[System] HostBufferRefreshIntervalAll = default # default* - 1 - 5 - 10 - 50 - 100 - 250 - 500. 'default' is 100 usec LinkPropagationPortPairs = # [portA, portB], ... NtplFileName = # String NumWorkerThreads = 16 # 1 .. 100 SdramFillLevelWarning = 0 # X1, X2, X3, X4 TimeSyncOsTimeReference = None # None* - adapter-0 - adapter-1 - adapter-2 - adapter-3 - adapter-4 - adapter-5 - adapter-6 - adapter-7 TimestampFormat = NATIVE_UNIX # NATIVE - NATIVE_NDIS - NATIVE_UNIX* - UNIX_NS - PCAP - PCAP_NS TimestampMethod = EOF # SOF - EOF* [Logging] LogBufferWrap = wrap # wrap* - nowrap LogFileName = /tmp/Log3G_%s.log # String LogMask = 7 # See ini-file help for information about possible values LogToFile = false # true/false LogToSystem = true # true/false [Adapter0] AdapterType = NT400D11_2X100 # NT40A01_4X1 - NT20E3_2_PTP - NT40E3_4_PTP - NT50B01_2X10_25 - NT50B01_2X25 - NT50B01_2X1_10 - NT100A01_4X1_10 - NT100A01_4X10_25 - NT40A11_4X1_10 - NT80E3_2_PTP - NT80E3_2_PTP_8X10 - NT100E3_1_PTP - NT200A01 - NT200A01_2X100 - NT200A01_8X10 - NT200A01_2X40 - NT200A01_2X10_25 - NT200A01_2X25 - NT200A02_2X10_25 - NT200A02_2X25 - NT200A02_2X100 - NT200A02_2X40 - NT200A02_4X10_25 - NT200A02_4X25 - NT200A02_8X10 - NT200A02_2X1_10 - NT4E - NT20E - NT4E_STD - NT20E2 - NT40E2_1 - NT40E2_4 - NT4E2_PTP - NT20E2_PTP - INTEL_A10_4X10 - INTEL_A10_1X40 - NT400D11_2X100 BondingType = Separate # Separate* BusId = 0000:82:00.0 # NNNN:NN:NN.N CancelTxOnCloseMask = 0 # See ini-file help for information about possible values DeduplicationWindow = 100 # 10 .. 2000000 DisableTxRemoteFault = 0 # 1 - 0* - true - false* DiscardSize = 16 # 16 .. 63 HighFrequencySampling = DISABLE # DISABLE* - ENABLE HostBufferHandlerAffinity = -2 # -2 .. 31 HostBufferPollInterval = default # default* - 10 - 50 - 100 - 250 - 500 - 1000 - 10000 - 25000 - 50000 - 100000. 'default' is adapter dependant, often 1000 usec HostBufferRefreshIntervalRx = default # default* - 1 - 5 - 10 - 50 - 100 - 250 - 500. By 'default' the HostBufferRefreshIntervalAll is used HostBufferRefreshIntervalTx = default # default* - 1 - 5 - 10 - 50 - 100 - 250 - 500. By 'default' the HostBufferRefreshIntervalAll is used HostBufferSegmentAlignmentRx = default # default* - none - 0 - 512 - 1024 - 2048 - 4096. 'default' is none except for adapters not supporting dynamic HostBufferSegmentSizeRx HostBufferSegmentSizeRx = default # default* - dynamic - 0 - 1 - 2 - 4 - 64K - 128K - 256K - 512K - 1M - 2M - 4M. 'default' use dynamic segment size if supported, otherwise a fixed size is applied HostBufferSegmentSizeTx = default # default* - 1 - 2 - 4 - 1M - 2M - 4M. 'default' is 1M HostBufferSegmentTimeOut = default # default* - 10 - 50 - 100 - 250 - 500 - 1000 - 10000 - 25000 - 50000 - 100000. Value given in usec. 'default' is 100 usec (inline products) or based on measured line speed HostBuffersRx = [4,16,-1] # [x1, x2, x3], ... HostBuffersTx = [4,16,-1] # [x1, x2, x3], ... IfgMode = NS # NS* - BYTE KmTcamConfig = [2,4,0],[4,1,0] # [cnt, len, dualLookup], ... MaxFrameSize = 9018 # 1518 .. 10000 NumaNode = -1 # -1 .. 16 OnBoardMemorySplit = Even # Dynamic - Even* - Proportional PacketDescriptor = NT # PCAP - NT* - Ext9 PacketPcapFcsInclude = false # true/false PortDisableMask = 0 # See ini-file help for information about possible values Profile = None # None* - Capture TimeSyncOSInSyncLimit = 50000 # 1 .. 4294967295 TimeSyncReferencePriority = FreeRun # FreeRun* - PTP - Int1 - Int2 - Ext1 - OSTime TimeSyncTimeOffset = 0 # 0 .. 1000000 TimestampInjectAlways = false # true/false, ... TimestampInjectDynamicOffset = TSI_DYN_SOF # TSI_DYN_SOF* - TSI_DYN_EOF - TSI_DYN_L3 - TSI_DYN_L4 TimestampInjectStaticOffset = 0 # -16384 .. 16383, ... TxTiming = RELATIVE # ABSOLUTE - RELATIVE* VXLANAltDestinationPorts = 4789,4789 # X1, X2
Hardware | Port Speed | AdapterType value |
---|---|---|
NT400D11 | 2 × 100 Gbit/s | NT400D11_2X100 |
NT200A02 | 2 × 100 Gbit/s | NT200A02_2X100 |
2 × 40 Gbit/s | NT200A02_2X40 | |
4 × 25/10 Gbit/s | NT200A02_4X10_25 or NT200A02_4X25 (for legacy purpose) | |
2 × 25/10 Gbit/s | NT200A02_2X10_25 or NT200A02_2X25 (for legacy purposes) | |
8 × 10 Gbit/s | NT200A02_8X10 | |
2 × 10/1 Gbit/s | NT200A02_2X1_10 | |
NT100A01 | 4 × 25/10 Gbit/s | NT100A01_4X10_25 |
4 × 10/1 Gbit/s | NT100A01_4X1_10 | |
NT50B01 | 2 × 25/10 Gbit/s | NT50B01_2X10_25 |
2 × 10/1 Gbit/s | NT50B01_2X1_10 | |
NT40A11 | 4 × 10/1 Gbit/s | NT40A11_4X1_10 |
NT40A01 | 4 × 10/1 Gbit/s | NT40E3_4_PTP (for socket load balancing) |
4 × 1 Gbit/s | NT40A01_4X1 | |
Intel® Programmable Acceleration Card with Intel® Arria® 10 GX FPGA | 4 × 10 Gbit/s | INTEL_A10_4X10 |
Parameters | Min | Max |
---|---|---|
Buffer | 12.5 | 93.75 |
Flowtable | 6.25 | 87.5 |
Intel® Turbo Boost
- Type of workload
- Number of active cores
- Estimated current consumption
- Estimated power consumption
- Processor temperature
The operation depends on the headroom available in one or more cores. The amount of time the system spends in Turbo Boost mode depends on workload, environment, platform design, and overall system configuration. The maximum frequency for processor function cannot be specified. The maximum frequency is automatic and dependent on the working conditions. Due to varying power characteristics, some parts with Turbo Boost may not achieve maximum turbo frequencies when running heavy workloads and using multiple cores concurrently. The less total power the CPU is using, the higher it can set the clocks in Turbo Boost mode. The more cores that are idle, the better the performance with Turbo Boost on one single core will be.
- HostBufferHandlerAffinity
- HostBufferPollInterval
- HostBufferSegmentTimeOut