Open Kilda Java Documentation
topologylistener.message_utils Namespace Reference

Classes

class  Abstract
 
class  Flow
 
class  Message
 

Functions

def build_ingress_flow (path_nodes, src_switch, src_port, src_vlan, bandwidth, transit_vlan, flow_id, output_action, cookie, meter_id)
 
def build_ingress_flow_from_db (stored_flow, output_action)
 
def build_egress_flow (path_nodes, dst_switch, dst_port, dst_vlan, transit_vlan, flow_id, output_action, cookie)
 
def build_egress_flow_from_db (stored_flow, output_action, cookie)
 
def build_intermediate_flows (switch, match, action, vlan, flow_id, cookie)
 
def build_one_switch_flow (switch, src_port, src_vlan, dst_port, dst_vlan, bandwidth, flow_id, output_action, cookie, meter_id)
 
def build_one_switch_flow_from_db (switch, stored_flow, output_action)
 
def build_delete_flow (switch, flow_id, cookie, meter_id, in_port, in_vlan, out_port)
 
def make_features_status_response ()
 
def send_dump_rules_request (switch_id, correlation_id)
 
def send_validation_rules_response (missing_rules, excess_rules, proper_rules, correlation_id)
 
def send_sync_rules_response (installed_rules, correlation_id)
 
def send_force_install_commands (switch_id, flow_commands, correlation_id)
 
def send_to_topic (payload, correlation_id, message_type, destination="WFM", topic=config.KAFKA_FLOW_TOPIC, extra=None)
 
def send_info_message (payload, correlation_id)
 
def send_cache_message (payload, correlation_id)
 
def send_error_message (correlation_id, error_type, error_message, error_description, destination="WFM", topic=config.KAFKA_FLOW_TOPIC)
 
def send_install_commands (flow_rules, correlation_id)
 
def send_delete_commands (nodes, correlation_id)
 
def make_link_props_response (request, link_props, error=None)
 
def send_link_props_response (payload, correlation_id, chunked=False)
 
def send_link_props_chunked_response (batch, correlation_id)
 

Variables

 producer = KafkaProducer(bootstrap_servers=config.KAFKA_BOOTSTRAP_SERVERS)
 
 logger = logging.getLogger(__name__)
 
string MT_ERROR = "org.openkilda.messaging.error.ErrorMessage"
 
string MT_COMMAND = "org.openkilda.messaging.command.CommandMessage"
 
string MT_COMMAND_REPLY = "org.openkilda.messaging.command.CommandWithReplyToMessage"
 
string MT_INFO = "org.openkilda.messaging.info.InfoMessage"
 
string MT_INFO_CHUNKED = 'org.openkilda.messaging.info.ChunkedInfoMessage'
 
string MT_INFO_FLOW_STATUS = "org.openkilda.messaging.info.flow.FlowStatusResponse"
 
string MT_ERROR_DATA = "org.openkilda.messaging.error.ErrorData"
 
tuple MI_LINK_PROPS_RESPONSE
 

Function Documentation

◆ build_delete_flow()

def topologylistener.message_utils.build_delete_flow (   switch,
  flow_id,
  cookie,
  meter_id,
  in_port,
  in_vlan,
  out_port 
)

Definition at line 193 of file message_utils.py.

◆ build_egress_flow()

def topologylistener.message_utils.build_egress_flow (   path_nodes,
  dst_switch,
  dst_port,
  dst_vlan,
  transit_vlan,
  flow_id,
  output_action,
  cookie 
)

Definition at line 93 of file message_utils.py.

◆ build_egress_flow_from_db()

def topologylistener.message_utils.build_egress_flow_from_db (   stored_flow,
  output_action,
  cookie 
)

Definition at line 122 of file message_utils.py.

◆ build_ingress_flow()

def topologylistener.message_utils.build_ingress_flow (   path_nodes,
  src_switch,
  src_port,
  src_vlan,
  bandwidth,
  transit_vlan,
  flow_id,
  output_action,
  cookie,
  meter_id 
)

Definition at line 51 of file message_utils.py.

◆ build_ingress_flow_from_db()

def topologylistener.message_utils.build_ingress_flow_from_db (   stored_flow,
  output_action 
)

Definition at line 82 of file message_utils.py.

◆ build_intermediate_flows()

def topologylistener.message_utils.build_intermediate_flows (   switch,
  match,
  action,
  vlan,
  flow_id,
  cookie 
)

Definition at line 132 of file message_utils.py.

◆ build_one_switch_flow()

def topologylistener.message_utils.build_one_switch_flow (   switch,
  src_port,
  src_vlan,
  dst_port,
  dst_vlan,
  bandwidth,
  flow_id,
  output_action,
  cookie,
  meter_id 
)

Definition at line 153 of file message_utils.py.

◆ build_one_switch_flow_from_db()

def topologylistener.message_utils.build_one_switch_flow_from_db (   switch,
  stored_flow,
  output_action 
)

Definition at line 175 of file message_utils.py.

◆ make_features_status_response()

def topologylistener.message_utils.make_features_status_response ( )

Definition at line 206 of file message_utils.py.

◆ make_link_props_response()

def topologylistener.message_utils.make_link_props_response (   request,
  link_props,
  error = None 
)

Definition at line 344 of file message_utils.py.

◆ send_cache_message()

def topologylistener.message_utils.send_cache_message (   payload,
  correlation_id 
)

Definition at line 284 of file message_utils.py.

◆ send_delete_commands()

def topologylistener.message_utils.send_delete_commands (   nodes,
  correlation_id 
)
Build the message for each switch node in the path and send the message to both the speaker and the flow topic

:param nodes: array of dicts: switch_id; flow_id; cookie
:return:

Definition at line 319 of file message_utils.py.

◆ send_dump_rules_request()

def topologylistener.message_utils.send_dump_rules_request (   switch_id,
  correlation_id 
)

Definition at line 213 of file message_utils.py.

◆ send_error_message()

def topologylistener.message_utils.send_error_message (   correlation_id,
  error_type,
  error_message,
  error_description,
  destination = "WFM",
  topic = config.KAFKA_FLOW_TOPIC 
)

Definition at line 290 of file message_utils.py.

◆ send_force_install_commands()

def topologylistener.message_utils.send_force_install_commands (   switch_id,
  flow_commands,
  correlation_id 
)

Definition at line 244 of file message_utils.py.

◆ send_info_message()

def topologylistener.message_utils.send_info_message (   payload,
  correlation_id 
)

Definition at line 280 of file message_utils.py.

◆ send_install_commands()

def topologylistener.message_utils.send_install_commands (   flow_rules,
  correlation_id 
)
flow_utils.get_rules() creates the flow rules starting with ingress, then transit, then egress. For the install,
we would like to send the commands in opposite direction - egress, then transit, then ingress.  Consequently,
the for logic should go in reverse

Definition at line 299 of file message_utils.py.

◆ send_link_props_chunked_response()

def topologylistener.message_utils.send_link_props_chunked_response (   batch,
  correlation_id 
)

Definition at line 362 of file message_utils.py.

◆ send_link_props_response()

def topologylistener.message_utils.send_link_props_response (   payload,
  correlation_id,
  chunked = False 
)

Definition at line 352 of file message_utils.py.

◆ send_sync_rules_response()

def topologylistener.message_utils.send_sync_rules_response (   installed_rules,
  correlation_id 
)

Definition at line 235 of file message_utils.py.

◆ send_to_topic()

def topologylistener.message_utils.send_to_topic (   payload,
  correlation_id,
  message_type,
  destination = "WFM",
  topic = config.KAFKA_FLOW_TOPIC,
  extra = None 
)
:param extra: a dict that will be added to the message. Useful for adding reply_to for Command With Reply.

Definition at line 262 of file message_utils.py.

◆ send_validation_rules_response()

def topologylistener.message_utils.send_validation_rules_response (   missing_rules,
  excess_rules,
  proper_rules,
  correlation_id 
)

Definition at line 224 of file message_utils.py.

Variable Documentation

◆ logger

topologylistener.message_utils.logger = logging.getLogger(__name__)

Definition at line 26 of file message_utils.py.

◆ MI_LINK_PROPS_RESPONSE

tuple topologylistener.message_utils.MI_LINK_PROPS_RESPONSE
Initial value:
1 = (
2  'org.openkilda.messaging.te.response.LinkPropsResponse')

Definition at line 36 of file message_utils.py.

◆ MT_COMMAND

string topologylistener.message_utils.MT_COMMAND = "org.openkilda.messaging.command.CommandMessage"

Definition at line 29 of file message_utils.py.

◆ MT_COMMAND_REPLY

string topologylistener.message_utils.MT_COMMAND_REPLY = "org.openkilda.messaging.command.CommandWithReplyToMessage"

Definition at line 30 of file message_utils.py.

◆ MT_ERROR

string topologylistener.message_utils.MT_ERROR = "org.openkilda.messaging.error.ErrorMessage"

Definition at line 28 of file message_utils.py.

◆ MT_ERROR_DATA

string topologylistener.message_utils.MT_ERROR_DATA = "org.openkilda.messaging.error.ErrorData"

Definition at line 34 of file message_utils.py.

◆ MT_INFO

string topologylistener.message_utils.MT_INFO = "org.openkilda.messaging.info.InfoMessage"

Definition at line 31 of file message_utils.py.

◆ MT_INFO_CHUNKED

string topologylistener.message_utils.MT_INFO_CHUNKED = 'org.openkilda.messaging.info.ChunkedInfoMessage'

Definition at line 32 of file message_utils.py.

◆ MT_INFO_FLOW_STATUS

string topologylistener.message_utils.MT_INFO_FLOW_STATUS = "org.openkilda.messaging.info.flow.FlowStatusResponse"

Definition at line 33 of file message_utils.py.

◆ producer

topologylistener.message_utils.producer = KafkaProducer(bootstrap_servers=config.KAFKA_BOOTSTRAP_SERVERS)

Definition at line 25 of file message_utils.py.