AFI
Advanced Forwarding Interface
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups
Classes | Typedefs | Enumerations
Nodes

Classes that define the core Aft forwarding nodes. More...

Classes

class  AftNode
 Base class for all Aft nodes. More...
 
class  AftDeleteNode
 Class used to delete the referenced node token. More...
 
class  AftPort
 Base class for all port classes in Aft. More...
 
class  AftInputPort
 Basic input port class. More...
 
class  AftOutputPort
 Basic output port class. More...
 
class  AftList
 Simple list class. More...
 
class  AftIndexedList
 Indexed list class. More...
 
class  AftLoadBalance
 Load balancer class. More...
 
class  AftCounter
 The basic counter class. More...
 
class  AftPolicer
 Simple policer class. More...
 
class  AftDiscard
 Discard class. More...
 
class  AftReceive
 Host receive class. More...
 
class  AftContinue
 Implicit continuation operation. More...
 
class  AftMatch
 Simple two-way conditional class. More...
 
class  AftSwitch
 Static multi-part conditional class. More...
 
class  AftTree
 Variable-length key lookup tree container class. More...
 
class  AftTable
 Index table container class. More...
 
class  AftLookup
 Key lookup class. More...
 
class  AftIndirect
 Indirect reference class. More...
 
class  AftDecap
 Packet de-encapsulation class. More...
 
class  AftEncap
 Packet encapsulation class. More...
 
class  AftWrite
 Metadata field write class. More...
 
class  AftVariable
 Sandbox variable class. More...
 
class  AftSandboxLink
 Node to allow output ports to jump to another AftSandbox. More...
 
class  AftPlaceholder
 Node to act as an interim placeholder. More...
 

Typedefs

typedef uint16_t AftSandboxId
 Typedef of 16 bit scalar used to define all unique sandbox IDs.
 
typedef uint64_t AftNodeToken
 Typedef of 64 bit scalar used to define all unique node tokens.
 
typedef std::shared_ptr< AftNodeAftNodePtr
 Pointer type for all Aft nodes.
 
typedef std::shared_ptr< AftEntryAftEntryPtr
 Pointer type for all Aft entries.
 
typedef std::shared_ptr
< AftDeleteNode
AftDeleteNodePtr
 Pointer type for all Aft delete nodes.
 
typedef std::shared_ptr
< AftDeleteEntry
AftDeleteEntryPtr
 Pointer type for all Aft delete entries.
 
typedef std::shared_ptr< AftPortAftPortPtr
 Shared pointer type for port instances.
 
typedef std::shared_ptr
< AftInsert
AftInsertPtr
 Shared pointer type for inserts.
 
typedef std::shared_ptr
< AftRemove
AftRemovePtr
 Shared pointer type for removes.
 
typedef std::vector< AftNodeTokenAftTokenVector
 Typedef of vector used to manage all lists of AftNodeToken values.
 
typedef std::vector< AftNodePtrAftNodeVector
 Typedef of vector used to manage all lists of AftNodePtr values.
 
typedef std::vector< AftEntryPtrAftEntryVector
 Typedef of vector used to manage all lists of AftEntryPtr values.
 

Enumerations

enum  AftMatch::OpEnum {
  AftMatch::AftMatchOpEQ = 0, AftMatch::AftMatchOpNEQ, AftMatch::AftMatchOpLT, AftMatch::AftMatchOpLET,
  AftMatch::AftMatchOpGT, AftMatch::AftMatchOpGET
}
 AftMatch operand enum. Used to indicate the comparison to perform in AftMatch. More...
 
enum  AftWrite::OpEnum { AftWrite::AftWriteOpSet = 0, AftWrite::AftWriteOpOr, AftWrite::AftWriteOpAnd, AftWrite::AftWriteOpXor }
 AftWrite operand enum. Used to indicate the comparison to perform in AftWrite. More...
 

Detailed Description

Classes that define the core Aft forwarding nodes.

Enumeration Type Documentation

AftMatch operand enum. Used to indicate the comparison to perform in AftMatch.

Enumerator
AftMatchOpEQ 

if (a == b)

AftMatchOpNEQ 

if (a != b)

AftMatchOpLT 

if (a < b)

AftMatchOpLET 

if (a <= b)

AftMatchOpGT 

if (a > b)

AftMatchOpGET 

if (a >= b)

AftWrite operand enum. Used to indicate the comparison to perform in AftWrite.

Enumerator
AftWriteOpSet 

a = b

AftWriteOpOr 

a | b

AftWriteOpAnd 

a & b

AftWriteOpXor 

a ^ b