Skip to content

Detailed implementation scheme

Roman Elokhin edited this page Nov 25, 2018 · 4 revisions

Functional scheme of PMDFM

Project setup tools

One of the most important advantages of PSEFABRIC is flexibility. This means that we can quite easily implement this approach to the network infrastructures with different designs, vendors, equipment, topologies, routing ...

To setup PSEFABRIC for a new project you need to adjust the next entities (highlighted in red in our scheme above):

psefabric.py

The psefabric.py is the data flow manager

  • located in $PSEFABRIC/PSEF_SCRIPTS
  • runs scripts in the correct order
  • responsible for data exchanging between them.

Data exchange scheme of PMDFM

This diagram shows python functions and data they exchange. The order of operations and all communication is determined by psefabric.py.

Here is the list of all python dictionaries used for data exchange:

  • psef_conf_new
  • psef_conf_old
  • address_full_new
  • address_full_old
  • address_set_full_new
  • address_set_full_old
  • service_full_new
  • service_full_old
  • service_set_full_new
  • service_set_full_old
  • application_full_new
  • application_full_old
  • application_set_full_new
  • application_set_full_old
  • psef_conf_policy_full_new
  • psef_conf_policy_full_old
  • diff_dict_full
  • address_set_index_new
  • address_set_index_old
  • cmd_for_host_full
  • policy_index
  • cmd_for_host_mult
  • cmd_for_host_diff
  • cfg

There is a powerful debugging mechanism in this PSEFABRIC implementation. You may examine all essential internal data exchange. If debugging is on this information is saved in the folder $PSEFABRIC/PSEF_LOGS/. For ease of reading, they will be saved in json format (Debugging)

Clone this wiki locally