bmv2
Designing your own switch target with bmv2
Public Member Functions | List of all members
bm::Pipeline Class Reference
Inheritance diagram for bm::Pipeline:
Inheritance graph
[legend]

Public Member Functions

void apply (Packet *pkt)
 
 Pipeline (const Pipeline &other)=delete
 Deleted copy constructor. More...
 
Pipelineoperator= (const Pipeline &other)=delete
 Deleted copy assignment operator. More...
 
 Pipeline (Pipeline &&other)=default
 Default move constructor. More...
 
Pipelineoperator= (Pipeline &&other)=default
 Default move assignment operator. More...
 
- Public Member Functions inherited from bm::NamedP4Object
const std::string & get_name () const
 Get the name of the P4 instance. More...
 
p4object_id_t get_id () const
 Get the compiler-provided id. More...
 
 NamedP4Object (const NamedP4Object &other)=delete
 Deleted copy constructor. More...
 
NamedP4Objectoperator= (const NamedP4Object &other)=delete
 Deleted copy assignment operator. More...
 
 NamedP4Object (NamedP4Object &&other)=default
 Default move constructor. More...
 
NamedP4Objectoperator= (NamedP4Object &&other)=default
 Default assignment operator. More...
 

Detailed Description

Implements a P4 control flow. It essentially consists of a apply() method which is in charge of sending the Packet through the correct match-action tables and conditions.

Constructor & Destructor Documentation

◆ Pipeline() [1/2]

bm::Pipeline::Pipeline ( const Pipeline other)
delete

Deleted copy constructor.

◆ Pipeline() [2/2]

bm::Pipeline::Pipeline ( Pipeline &&  other)
default

Default move constructor.

Member Function Documentation

◆ apply()

void bm::Pipeline::apply ( Packet pkt)

Sends the pkt through the correct match-action tables and condiitons. Each step is determined based on the result of the previous step (table lookup or condition evaluation), according to the P4 control flow graph.

◆ operator=() [1/2]

Pipeline& bm::Pipeline::operator= ( const Pipeline other)
delete

Deleted copy assignment operator.

◆ operator=() [2/2]

Pipeline& bm::Pipeline::operator= ( Pipeline &&  other)
default

Default move assignment operator.


The documentation for this class was generated from the following file: