Simple Module FailureManager

Package: inet.networklayer.extras
File: src/networklayer/extras/FailureManager.ned

C++ definition: click here

Module for managing node failure and recovery in the network. If used, it should have exactly one instance in the whole network.

FailureManager does not send or receive messages, and has no parameters either. Instead, it is invoked from ScenarioManager scripts, for example:

<scenario>
  <at t="2">
    <shutdown module="failureManager" target="LSR2"/>
  </at>
  <at t="10">
    <startup module="failureManager" target="LSR2"/>
  </at>
</scenario>

It is currently only used with MPLS simulations, and supports the following commands:

The operation of FailureManager is likely to get refined and generalized in next versions.

FailureManager

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Networks:

LDPTEST (network) (no description)
RSVPTE4 (network)

Example network to demonstrate RSVP-TE.

RSVPTE4 (network)

Example network to demonstrate RSVP-TE.

RSVPTE4 (network)

Example network to demonstrate RSVP-TE.

RSVPTE4 (network)

Example network to demonstrate RSVP-TE.

RSVPTE4 (network)

Example network to demonstrate RSVP-TE.

Properties:

Name Value Description
display i=block/control_s

Source code:

//
// Module for managing node failure and recovery in the network. If used,
// it should have exactly one instance in the whole network.
//
// FailureManager does not send or receive messages, and has no parameters
// either. Instead, it is invoked from ScenarioManager scripts, for example:
//
// <pre><nohtml>
// <scenario>
//   <at t="2">
//     <shutdown module="failureManager" target="LSR2"/>
//   </at>
//   <at t="10">
//     <startup module="failureManager" target="LSR2"/>
//   </at>
// </scenario>
// </nohtml></pre>
//
// It is currently only used with MPLS simulations, and supports the following
// commands:
//
// - <code>shutdown</code>: replaces a router module named by the <tt>target</tt> attribute
//   with another module that represents a failed router. It currently replaces
//   RSVP_LSR with RSVP_FAILED, LDP_LSR with LDP_FAILED, and QuaggaRouter with
//   FailedRouter.
// - <code>startup</code>: the inverse of <tt>shutdown</tt>: replaces a <i>failed</i>
//   router model named by the <tt>target</tt> attribute with an operational host/router
//   module type.
//
// The operation of FailureManager is likely to get refined and generalized in next
// versions.
//
simple FailureManager
{
    parameters:
        @display("i=block/control_s");
}