cc/td/doc/product/cable/svc_ctrl/scmgtsu
hometocprevnextglossaryfeedbacksearchhelp
PDF

Table Of Contents

CNR LEG Functional Specification

CNR LEG High Level Design

Logging and Tracing

Extensions Point Operation

init-entry

post-send-packet

post-packet-decode


CNR LEG Functional Specification


This module describes the CNR LEG design, logging, tracing, and operations performed by the CNR LEG.

The purpose of this appendix is to provide insight into the CNR LEG operation and integration with CNR.

CNR LEG High Level Design 

Logging and Tracing 

Extensions Point Operation 

CNR LEG High Level Design

The CNR LEG uses extension points:

init-entry

post-packet-decode

post-send-packet

When an extension point hook is called, the following sequence of events takes place:

1. The extension point hook performs the minimal computation necessary to extract all the required data and calls a Non-blocking C++ API operation.

2. The Non-blocking operation encodes a message and places it in a queue.

3. The Non-blocking C++ API network task reads messages from the message buffer and sends them over the network to the PRPC Server on the SM.

4. The PRPC Server decodes the message and passes it to the cable support module, which sets up the subscribers in the SM database using the SM core functionality.

Figure 4-1 CNR LEG High Level Design

The only operations performed in the context of the CNR extension dispatching thread are message creation and placement in a message queue. A separate thread performs the heavy network operations. Note that if for some reason the message queue is full, the message will be dropped to avoid the risk of creating a delay, which would damage CNR performance.

Logging and Tracing

By default, the CNR LEG logs its messages to the CNR log. The LEG supports a debug mode and several trace levels. The LEG configuration file controls logging and tracing.


Note Changes made to the LEG configuration file become effective only when the LEG is restarted.


Extensions Point Operation

This section briefly describes the operations performed by the CNR LEG at each extension point.

init-entry 

post-send-packet 

post-packet-decode 

init-entry

The extension point init-entry initializes and terminates the CNR LEG.

During initialization, the CNR LEG performs the following operations:

Reading the configuration file

Initializing the LEG logging and tracing

Creating a Non-blocking C++ API instance and connecting it to the SM

Starting the C++ API network-task thread

During termination, the CNR LEG performs the following operations:

Stopping and freeing the Non-blocking C++ API instance

Stopping the C++ API network-task thread

post-send-packet

The extension point post-send-packet sends the following cableLogin operations to the SM:

Verifying that the request-dictionary is for DHCP REQUEST and the response dictionary is for DHCP ACK

Extracting CM-MAC, CPE-MAC, and CMTS-IP from the request dictionary

Extracting the assigned CPE-IP and lease time from the response dictionary

In CM as Subscriber mode CM requests are ignored

Calling the Non-blocking C++ API cableLogin or login operation with the parameters extracted

If no CM-MAC (option 82) is found, an attempt to extend the lease based solely on the IP address is performed

post-packet-decode

The extension point post-packet-decode sends the following cableLogout or logout operations to the SM:

Verifying that the request dictionary is for either DHCP RELEASE or DHCP DECLINE

Extracting CM-MAC, CPE-MAC, CPE-IP, and CMTS-IP from the request dictionary

Calling the Non-blocking C++ API cableLogout\logout operation with the parameters extracted


hometocprevnextglossaryfeedbacksearchhelp

Posted: Thu Jan 31 21:30:02 PST 2008
All contents are Copyright © 1992--2008 Cisco Systems, Inc. All rights reserved.
Important Notices and Privacy Statement.