Skip to content

Demultiplexer

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

module multiplexer

Demultiplexer Layer is a heart of PSEFABRIC. At this layer, PSEFABRIC decides where (for which equipment) and which set of commands should be implemented.

Demultiplexing

Python functions:

  • multiplexer.demultiplex

The idea of demultiplexing is to, based on the structural elements and Resolving Element (see Layer 2), extract necessary configuration for correspondent equipment.

Multiplexing

Python functions:

  • multiplexer.multiplex

The goal of this function is removing the repeated combination of equipment name/parameter and commands.

Policy optimization

Python functions:

  • multiplexer.opt_policy

The operation of changing an object is represented as two operations in the cmd_for_host dictionary: remove & creation. It means that this changing object presents in both lists: with created and deleted objects.

The purpose of this function is to exclude such objects from both lists.

This is performed for the next objects:

  • addresses, services, applications
  • addresses in address-sets, services in service-sets, applications in application-sets
  • address-sets, service-sets, application-sets in policies

New dictionary (cmd_for_host_diff) will be used together with the old one (cmd_for_host_full) in configuration decision process.

PSEFABRIC (or Global) Logic

See Global Logic

Clone this wiki locally