Loading the Configuration

The application's management component is responsible for providing the user interface and sending the system configuration to the data component.

Committing a configuration for the system does not mean the components are configured. The information needs to pass through additional phases that depend on other JUNOS processes and on the data component. These parts behave independenly of the management component, and thus coordination is needed which can affect the externally visible functionality of the management component.

Messages are logged as the configuration is loaded in these phases, so that the effects of the configuration might not appear immediately. Logging is done through syslog at the external facility and at the informational level. The MONITUBE log tag is used so that messages from this system can easily be filtered for viewing. Additionally, configuring traceoptions enables supplementary debug and informational logging to the configured trace file.

The management component needs to parse, validate and load the configuration hierarchy introduced in Configuring the IPTV Monitor. This is triggered by a configured change, and the data component might not be available and connected at the time. To cope with this challenge, the management component stores a record of the configuration actions to achieve its end goal of sending accurate configuration to the data component.

The management component finds the monitube extension-service configuration and checks it for validity; at that time, it stores the existing and deleted monitored-networks configurations with an action of changed or deleted. It performs the same actions with the configured mirrors. The code that performs these actions is in the functions parse_monitors() and parse_mirrors(),in the file monitube-mgmt_config.c.

These records of configuration changes are maintained in a list until the data component is available to receive the information. This may already be the case (likely) if the data component is not in the process of starting for the first time. Nonetheless, at this point the management component processes the list of each configuration change or delete record, and sends this information along with the pertinent action in a message to the data component. The code that updates the list is in the functions update_monitor() and update_mirror(),in the file monitube-mgmt_config.c.

Receiving the Configuration

The data component receives the configuration information as data items with an action of changed or deleted. The code that receives the configuration is in the functions update_monitor() and update_mirror(),in the file monitube-data_config.c.

When a configuration is added, it affects only the stored configuration state applied to new sessions. However, changes and deletions can cause the known flows' state information in the lookup table to become stale.

The configuration manager removes flow entries from destinations that are no longer monitored or mirrored. Changes in the configuration can simply be applied to the flows' state, but the MDI statistics state is reset.

The code that removes flow entries is in the functions clear_monitors_configuration() in the file monitube-data_config.c. In the same file, delete_monitor() removes a single monitor, and delete_mirror() a single mirror, whereas the clear() functions remove all monitors or all mirrors. delete_address() removes a single prefix (address) configured for a monitor.

Maintaining Flow Information


2007-2009 Juniper Networks, Inc. All rights reserved. The information contained herein is confidential information of Juniper Networks, Inc., and may not be used, disclosed, distributed, modified, or copied without the prior written consent of Juniper Networks, Inc. in an express license. This information is subject to change by Juniper Networks, Inc. Juniper Networks, the Juniper Networks logo, and JUNOS are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Generated on Sun May 30 20:26:47 2010 for Juniper Networks Partner Solution Development Platform JUNOS SDK 10.2R1 by Doxygen 1.4.5