# Functions
AddTimer adds a timer which may call handler function every d milliseconds It is required to add at least one variant of this timer for working TODO d should be approximate as schedTime because handler will be call from scheduler Return created timer.
CheckFatal is a default error handling function, which prints error message and makes os.Exit in case of non nil error.
CheckHWCapability returns array of booleans for every requested port.
CreateKniDevice creates KNI device for using in receive or send functions.
DealARPICMP is predefined function which will generate replies to ARP and ICMP requests and automatically extract corresponding packets from input flow.
No description provided by the author
GetNameByPort gets the device name from port id.
GetPortByName gets the port id from device name.
GetPortMACAddress returns default MAC address of an Ethernet port.
SetCopier adds copy function to flow graph.
SetFastGenerator adds clonable generate function to flow graph.
SetGenerator adds non-clonable generate flow function to flow graph.
SetHandler adds handle function to flow graph.
SetHandlerDrop adds vector handle function to flow graph.
SetIPForPort sets IP for specified port if it was created.
SetMerger adds merge function to flow graph.
SetPartitioner adds partition function to flow graph.
SetReceiver adds receive function to flow graph.
SetReceiverFile adds read function to flow graph.
SetReceiverKNI adds function receive from KNI to flow graph.
SetReceiverOS adds function receive from Linux interface to flow graph.
SetReceiverXDP adds function receive from Linux AF_XDP to flow graph.
SetSender adds send function to flow graph.
SetSenderFile adds write function to flow graph.
SetSenderKNI adds function sending to KNI to flow graph.
SetSenderOS adds function send from flow graph to Linux interface.
SetSenderReceiverKNI adds function send/receive from KNI.
SetSenderXDP adds function send from flow graph to Linux AF_XDP interface.
SetSeparator adds separate function to flow graph.
SetSplitter adds split function to flow graph.
SetStopper adds stop function to flow graph.
SetUseHWCapability enables or disables using a hardware offloading capability.
SetVectorFastGenerator adds clonable vector generate function to flow graph.
SetVectorHandler adds vector handle function to flow graph.
SetVectorHandlerDrop adds vector handle function to flow graph.
SetVectorSeparator adds vector separate function to flow graph.
SetVectorSplitter adds vector split function to flow graph.
SystemInit is initialization of system.
SystemInitPortsAndMemory performs all initialization necessary to create and send new packets before scheduler may be started.
SystemReset stops whole framework plus cleanup DPDK TODO DPDK cleanup is now incomplete at DPDK side It is n't able to re-init after it and also is under deprecated pragma.
SystemStart starts system - begin packet receiving and packet sending.
SystemStartScheduler starts scheduler packet processing.
SystemStop stops the system.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
TODO "5" and "39" constants derived empirically.
# Structs
Config is a struct with all parameters, which user can pass to NFF-GO library.
Flow is an abstraction for connecting flow functions with each other.
No description provided by the author
Kni is a high level struct of KNI device.
No description provided by the author
No description provided by the author
# Interfaces
UserContext is used inside flow packet and is going for user via it.
# Type aliases
GenerateFunction is a function type for user defined function which generates packets.
HandleFunction is a function type for user defined function which handles packets.
No description provided by the author
SeparateFunction is a function type for user defined function which separates packets based on some rule for two flows.
SplitFunction is a function type for user defined function which splits packets based in some rule for multiple flows.
VectorGenerateFunction is a function type like GenerateFunction for vector generating.
VectorHandleFunction is a function type like HandleFunction for vector handling.
VectorSeparateFunction is a function type like SeparateFunction for vector separation.
VectorSplitFunction is a function type like SplitFunction for vector splitting.