faucet.tfm_pipeline module

Parse JSON for TFM based table config.

class faucet.tfm_pipeline.LoadRyuTables(cfgpath, pipeline_conf)[source]

Bases: object

Serialize table features messages from JSON.

load_tables(active_table_ids, tables_by_id)[source]
class faucet.tfm_pipeline.OpenflowToRyuTranslator(cfgpath, pipeline_conf)[source]

Bases: object

Translate JSON description of OF class, to Ryu OF class.

create_ryu_structure()[source]
openflow_to_ryu = {'content': {'oxm_ids': 'OFPOxmId', 'instruction_ids': 'OFPInstructionId', 'table_ids': [], 'action_ids': 'OFPActionId'}, 'table_tag': 'OFPTableFeaturesStats', 'tables': {'OFPTFPT_WRITE_ACTIONS_MISS': {'action_tag': 'action_ids', 'name': 'OFPTableFeaturePropActions'}, 'OFPTFPT_NEXT_TABLES': {'action_tag': 'table_ids', 'name': 'OFPTableFeaturePropNextTables'}, 'OFPTFPT_WRITE_SETFIELD_MISS': {'action_tag': 'oxm_ids', 'name': 'OFPTableFeaturePropOxm'}, 'OFPTFPT_APPLY_SETFIELD_MISS': {'action_tag': 'oxm_ids', 'name': 'OFPTableFeaturePropOxm'}, 'OFPTFPT_MATCH': {'action_tag': 'oxm_ids', 'name': 'OFPTableFeaturePropOxm'}, 'OFPTFPT_INSTRUCTIONS_MISS': {'action_tag': 'instruction_ids', 'name': 'OFPTableFeaturePropInstructions'}, 'OFPTFPT_APPLY_ACTIONS': {'action_tag': 'action_ids', 'name': 'OFPTableFeaturePropActions'}, 'OFPTFPT_APPLY_ACTIONS_MISS': {'action_tag': 'action_ids', 'name': 'OFPTableFeaturePropActions'}, 'OFPTFPT_WRITE_ACTIONS': {'action_tag': 'action_ids', 'name': 'OFPTableFeaturePropActions'}, 'OFPTFPT_WRITE_SETFIELD': {'action_tag': 'oxm_ids', 'name': 'OFPTableFeaturePropOxm'}, 'OFPTFPT_NEXT_TABLES_MISS': {'action_tag': 'table_ids', 'name': 'OFPTableFeaturePropNextTables'}, 'OFPTFPT_INSTRUCTIONS': {'action_tag': 'instruction_ids', 'name': 'OFPTableFeaturePropInstructions'}, 'OFPTFPT_APPLY_SETFIELD': {'action_tag': 'oxm_ids', 'name': 'OFPTableFeaturePropOxm'}, 'OFPTFPT_WILDCARDS': {'action_tag': 'oxm_ids', 'name': 'OFPTableFeaturePropOxm'}}}