18#ifndef BACKENDS_EBPF_PSA_EXTERNS_EBPFPSATABLEIMPLEMENTATION_H_ 
   19#define BACKENDS_EBPF_PSA_EXTERNS_EBPFPSATABLEIMPLEMENTATION_H_ 
   21#include "backends/ebpf/ebpfTable.h" 
   22#include "backends/ebpf/psa/ebpfPsaTable.h" 
   23#include "backends/ebpf/psa/externs/ebpfPsaHashAlgorithm.h" 
   31                               const IR::Declaration_Instance *decl);
 
   34    void emitInitializer(
CodeBuilder *builder) 
override;
 
   35    virtual void emitReferenceEntry(
CodeBuilder *builder);
 
   37    virtual void registerTable(
const EBPFTablePSA *instance);
 
   43    const IR::Declaration_Instance *declaration;
 
   46    void verifyTableActionList(
const EBPFTablePSA *instance);
 
   47    void verifyTableNoDefaultAction(
const EBPFTablePSA *instance);
 
   48    void verifyTableNoDirectObjects(
const EBPFTablePSA *instance);
 
   51    unsigned getUintFromExpression(
const IR::Expression *expr, 
unsigned defaultValue);
 
 
   59                         const IR::Declaration_Instance *decl);
 
   63                             cstring actionRunVariable) 
override;
 
 
   71                          const IR::Declaration_Instance *decl);
 
   73    void emitInitializer(
CodeBuilder *builder) 
override;
 
   75    void emitReferenceEntry(
CodeBuilder *builder) 
override;
 
   78                             cstring actionRunVariable) 
override;
 
   80    void registerTable(
const EBPFTablePSA *instance) 
override;
 
   88    typedef std::vector<const IR::KeyElement *> SelectorsListType;
 
   90    const IR::Property *emptyGroupAction;
 
   92    SelectorsListType selectors;
 
   95    cstring emptyGroupActionMapName;
 
  103    EBPFHashAlgorithmPSA::ArgumentsList unpackSelectors();
 
  104    SelectorsListType getSelectorsFromTable(
const EBPFTablePSA *instance);
 
  106    void verifyTableSelectorKeySet(
const EBPFTablePSA *instance);
 
  107    void verifyTableEmptyGroupAction(
const EBPFTablePSA *instance);
 
 
Definition ebpf/codeGen.h:33
 
Definition ebpf/codeGen.h:41
 
Definition ebpfPsaTableImplementation.h:56
 
Definition ebpfPsaTableImplementation.h:68
 
Definition ebpfPsaHashAlgorithm.h:26
 
Definition ebpfProgram.h:39
 
Base class for ActionProfile and ActionSelector.
Definition ebpfPsaTableImplementation.h:28
 
Definition ebpfPsaTable.h:29
 
Definition codeGen.cpp:25