Open Kilda Java Documentation
topologylistener.messageclasses.MessageItem Class Reference
Inheritance diagram for topologylistener.messageclasses.MessageItem:
topologylistener.model.JsonSerializable

Public Member Functions

def __init__ (self, message)
 
def to_json (self)
 
def get_type (self)
 
def get_command (self)
 
def get_message_type (self)
 
def handle (self)
 
def handle_link_props (self)
 
def activate_switch (self)
 
def create_switch (self)
 
def switch_unplug (self)
 
def isl_discovery_failed (self)
 
def port_down (self)
 
def create_isl (self)
 
def handle_topology_change (self)
 
def not_allow_flow_operation (self)
 
def flow_operation (self)
 
def handle_flow_topology_sync (self)
 
def get_feature_toggle_state (self)
 
def update_feature_toggles (self)
 
def validate_switch_rules (self)
 
def validate_and_sync_switch_rules (self)
 
def sync_switch_rules (self)
 
def send_dump_rules_request (self)
 
def update_payload_lifecycle (self, life_cycle)
 
def link_props_put (self)
 
def link_props_drop (self)
 

Static Public Member Functions

def create_flow (flow_id, flow, correlation_id, tx, propagate=True, from_nb=False)
 
def delete_flow (flow_id, flow, correlation_id, parent_tx=None, propagate=True, from_nb=False)
 
def update_flow (flow_id, flow, correlation_id, tx)
 
def fetch_isls (pull=True, sort_key='src_switch')
 

Public Attributes

 type
 
 payload
 
 destination
 
 correlation_id
 
 reply_to
 
 timestamp
 

Detailed Description

Definition at line 129 of file messageclasses.py.

Constructor & Destructor Documentation

◆ __init__()

def topologylistener.messageclasses.MessageItem.__init__ (   self,
  message 
)

Definition at line 130 of file messageclasses.py.

Member Function Documentation

◆ activate_switch()

def topologylistener.messageclasses.MessageItem.activate_switch (   self)

Definition at line 249 of file messageclasses.py.

◆ create_flow()

def topologylistener.messageclasses.MessageItem.create_flow (   flow_id,
  flow,
  correlation_id,
  tx,
  propagate = True,
  from_nb = False 
)
static
:param propagate: If true, send to switch
:param from_nb: If true, send response to NORTHBOUND API; otherwise to FLOW_TOPOLOGY
:return:

Definition at line 439 of file messageclasses.py.

◆ create_isl()

def topologylistener.messageclasses.MessageItem.create_isl (   self)
Two parts to creating an ISL:
(1) create the relationship itself
(2) add any link properties, if they exist.

NB: The query used for (2) is the same as in the TER
TODO: either share the same query as library in python, or handle in java

:return: success or failure (boolean)

Definition at line 351 of file messageclasses.py.

◆ create_switch()

def topologylistener.messageclasses.MessageItem.create_switch (   self)

Definition at line 263 of file messageclasses.py.

◆ delete_flow()

def topologylistener.messageclasses.MessageItem.delete_flow (   flow_id,
  flow,
  correlation_id,
  parent_tx = None,
  propagate = True,
  from_nb = False 
)
static
Simple algorithm - delete the stuff in the DB, send delete commands, send a response.
Complexity - each segment in the path may have a separate cookie, so that information needs to be gathered.
NB: Each switch in the flow should get a delete command.

# TODO: eliminate flowpath as part of delete_flow request; rely on flow_id only
# TODO: Add state to flow .. ie "DELETING", as part of refactoring project to add state
- eg: flow_utils.update_state(flow, DELETING, parent_tx)

:param parent_tx: If there is a larger transaction to use, then use it.
:return: True, unless an exception is raised.

Definition at line 490 of file messageclasses.py.

◆ fetch_isls()

def topologylistener.messageclasses.MessageItem.fetch_isls (   pull = True,
  sort_key = 'src_switch' 
)
static
:return: an unsorted list of ISL relationships with all properties pulled from the db if pull=True

Definition at line 698 of file messageclasses.py.

◆ flow_operation()

def topologylistener.messageclasses.MessageItem.flow_operation (   self)

Definition at line 615 of file messageclasses.py.

◆ get_command()

def topologylistener.messageclasses.MessageItem.get_command (   self)

Definition at line 155 of file messageclasses.py.

◆ get_feature_toggle_state()

def topologylistener.messageclasses.MessageItem.get_feature_toggle_state (   self)

Definition at line 729 of file messageclasses.py.

◆ get_message_type()

def topologylistener.messageclasses.MessageItem.get_message_type (   self)

Definition at line 158 of file messageclasses.py.

◆ get_type()

def topologylistener.messageclasses.MessageItem.get_type (   self)

Definition at line 150 of file messageclasses.py.

◆ handle()

def topologylistener.messageclasses.MessageItem.handle (   self)

Definition at line 161 of file messageclasses.py.

◆ handle_flow_topology_sync()

def topologylistener.messageclasses.MessageItem.handle_flow_topology_sync (   self)

Definition at line 719 of file messageclasses.py.

◆ handle_link_props()

def topologylistener.messageclasses.MessageItem.handle_link_props (   self)

Definition at line 233 of file messageclasses.py.

◆ handle_topology_change()

def topologylistener.messageclasses.MessageItem.handle_topology_change (   self)

Definition at line 418 of file messageclasses.py.

◆ isl_discovery_failed()

def topologylistener.messageclasses.MessageItem.isl_discovery_failed (   self)
:return: Ideally, this should return true IFF discovery is deleted or deactivated.

Definition at line 300 of file messageclasses.py.

◆ link_props_drop()

def topologylistener.messageclasses.MessageItem.link_props_drop (   self)

Definition at line 834 of file messageclasses.py.

◆ link_props_put()

def topologylistener.messageclasses.MessageItem.link_props_put (   self)

Definition at line 816 of file messageclasses.py.

◆ not_allow_flow_operation()

def topologylistener.messageclasses.MessageItem.not_allow_flow_operation (   self)

Definition at line 591 of file messageclasses.py.

◆ port_down()

def topologylistener.messageclasses.MessageItem.port_down (   self)

Definition at line 328 of file messageclasses.py.

◆ send_dump_rules_request()

def topologylistener.messageclasses.MessageItem.send_dump_rules_request (   self)

Definition at line 803 of file messageclasses.py.

◆ switch_unplug()

def topologylistener.messageclasses.MessageItem.switch_unplug (   self)

Definition at line 287 of file messageclasses.py.

◆ sync_switch_rules()

def topologylistener.messageclasses.MessageItem.sync_switch_rules (   self)

Definition at line 784 of file messageclasses.py.

◆ to_json()

def topologylistener.messageclasses.MessageItem.to_json (   self)

Definition at line 146 of file messageclasses.py.

◆ update_feature_toggles()

def topologylistener.messageclasses.MessageItem.update_feature_toggles (   self)

Definition at line 741 of file messageclasses.py.

◆ update_flow()

def topologylistener.messageclasses.MessageItem.update_flow (   flow_id,
  flow,
  correlation_id,
  tx 
)
static

Definition at line 564 of file messageclasses.py.

◆ update_payload_lifecycle()

def topologylistener.messageclasses.MessageItem.update_payload_lifecycle (   self,
  life_cycle 
)

Definition at line 808 of file messageclasses.py.

◆ validate_and_sync_switch_rules()

def topologylistener.messageclasses.MessageItem.validate_and_sync_switch_rules (   self)

Definition at line 768 of file messageclasses.py.

◆ validate_switch_rules()

def topologylistener.messageclasses.MessageItem.validate_switch_rules (   self)

Definition at line 759 of file messageclasses.py.

Member Data Documentation

◆ correlation_id

topologylistener.messageclasses.MessageItem.correlation_id

Definition at line 136 of file messageclasses.py.

◆ destination

topologylistener.messageclasses.MessageItem.destination

Definition at line 135 of file messageclasses.py.

◆ payload

topologylistener.messageclasses.MessageItem.payload

Definition at line 134 of file messageclasses.py.

◆ reply_to

topologylistener.messageclasses.MessageItem.reply_to

Definition at line 137 of file messageclasses.py.

◆ timestamp

topologylistener.messageclasses.MessageItem.timestamp

Definition at line 144 of file messageclasses.py.

◆ type

topologylistener.messageclasses.MessageItem.type

Definition at line 133 of file messageclasses.py.


The documentation for this class was generated from the following file: