[Contents] [Prev] [Next] [Index] [Report an Error] [No Frames]


Service Definitions

A service definition is a high-level, platform-independent template that defines a service that you want to let your subscribers use. You use the JUNOSe software's embedded macro language on your computer to create the macro file that defines the service. You copy and install the macro file on the E-Series router, and then you can associate the service definition with subscribers to create their service sessions.

Service definitions gives you flexibility by enabling you to use:

A service definition might use the following types of JUNOSe objects to define the characteristics and capabilities of the service you want to provide:

Creating Service Definitions

To create a service definition, you use the JUNOSe software's macro language to specify the parameters that define the desired service. A macro file can define only one service—however, the file can have multiple templates to define characteristics of the desired service. You create service definitions independent of the Service Manager commands and operations, which are performed on the E-series router.

For detailed information about the JUNOSe software's macro language, see JUNOSe System Basics Configuration Guide, Chapter 2, Command-Line Interface.

Figure 27 is an example of a service definition macro file that creates a tiered service. A tiered service typically provides set bandwidths for both inbound and outbound traffic for a subscriber. In this example, the input (inputBW) and output (outputBW) bandwidth values are parameterized. This example assumes that QoS profile triplePlayIP and QoS parameter maxSubscBW are configured. See Service Definition Examples for additional service definition examples.

Service Manager only tracks JUNOSe objects that are passed back in the env.setResult method when a service definition is executed. Table 131 describes the supported objects:

Table 131: JUNOSe Objects Tracked by Service Manager 
Name
Requirement
Description

input-stat-clacl

Optional

  • Collects input statistics from policy manager
  • Can be a list of clacls

secondary-input-stat-clacl

Optional

  • Collects input statistics from policy manager
  • Can be a list of clacls

output-stat-clacl

Optional

  • Collects output statistics from policy manager
  • Can be a list of clacls

activate-profile

Required

  • Specifies the interface profile used on activation of the service
  • Deletion of the profile is Service Manager's responsibility

deactivate-profile

Optional

  • Specifies the interface profile used on deactivation of the service
  • If not specified, is the same as the activation-profile
  • Deletion of the profile is Service Manager's responsibility

command-in-error

Optional

  • Passes the value env.getErrorCommand
  • Service Manager displays the line in the service definition that has the error

command-error-status

Optional

  • Passes the value env.getErrorStatus
  • Service Manager displays the error status for the error


Figure 27: Sample Service Definition Macro File

!parameterizes input and output bandwidth
<# tiered(inputBW, outputBW) #>

<# uid := app.servicemanager.getUniqueId #>
<# name := "SM-tiered-" $ uid #>
<# oname := "SM-O-tiered-" $ uid #>


classifier-list matchAll ip any any
rate-limit-profile <# name #> one-rate
    committed-rate <# inputBW; '\n' #>

policy-list <# name; '\n' #>
    classifier-group matchAll precedence 10000
        rate-limit-profile <# name; '\n' #>
        traffic-class best-effort

policy-list <# oname; '\n' #>
    classifier-group matchAll precedence 10000
        traffic-class best-effort

profile <# name; '\n' #> 
    ip policy secondary-input <# name #> statistics enabled merge
    ip policy output <# oname #> statistics enabled merge
    qos-profile triplePlayIP
    qos-parameter maxSubscBW <# outputBW; '\n' #>

<# env.setResult("activate-profile", name) #>
<# env.setResult("secondary-input-stat-clacl", "matchAll") #>
<# env.setResult("output-stat-clacl", "matchAll") #>

<# endtmpl #>

Managing Your Service Definitions

After you have created the macro file for your service definition, you can perform the following operations with the service definition macro file:

  1. Copy—You must copy the service definition from the local computer that you used to create the macro file to the router's NVS card.
  2. Install—You must install the service definition before you can use it to create a service session. During installation, Service Manager precompiles the definition and extracts the definition file's timestamp. Precompiling the service definition improves Service Manager performance. The timestamp enables the Service Manager application to track any modifications you might make while the definition is being used.
  3. Uninstall—You can uninstall a service definition file, for example, if you no longer want to use that definition. When you uninstall a service definition file, any existing service sessions that were activated using the original service definition continue to use the original definition until you deactivate the service session.
  4. Modify—You can update an existing service definition file at any time. To update a service definition file:
  1. Use your text editor on your computer to make changes to the original service definition file.
  2. Copy the updated service definition file back to your router's NVS—this overwrites the original file on the router.
  3. Install the new service definition file.

All new service sessions will be activated using the new service definition. Any existing service sessions that were activated using the original service definition continue to use the original definition until you deactivate the service session.

copy

service-management install


[Contents] [Prev] [Next] [Index] [Report an Error] [No Frames]