SDK Your Net Corporation Passthru Plug-in Example: passthru-plugin Documentation

1.0

Overview

This is a sample application that is part of the sync-passthru-plugin package.

This document contains the functional specifications for the SDK Your Net Corporation (SYNC) Passthru project. This project consists of the development of a very basic plug-in that can be compared with the SYNC IP Reassembler. The IP reassembler does nothing with the packets other than reassemble fragments. The plug-in automatically gets IP reassembly done for free by the plug-in framework; therefore, we simple pass the packet through the system and demonstrate some minimal plug-in responsibilities herein. Thus this also serves as a good starting point for those learning the plug-in model and events.

When a packet is received a log message is written with the following format:

"<source IP address> -> <destination IP address>" 

These messages are built when observing the first packet of each session, and the strings are stored in the session context so they may be used for subsequent packets in the same session.

Sample setup

In this section we show a sample configuration, and explain how to setup the system to get it running.


chassis {
    fpc 1 {
        pic 2 {
            adaptive-services {
                service-package {
                    extension-provider {
                        control-cores 1;
                        data-cores 7;
                        object-cache-size 512;
                        policy-db-size 64;
                        package sync-passthru-plugin;
                        syslog {
                            external any;
                        }
                    }
                }
            }
        }
    }
}
interfaces {
    ##
    ## Traffic through this interface will be processed
    ##
    fe-1/1/3 {
        unit 0 {
            family inet {
                address 192.168.0.1/24;
                service {
                    input {
                        service-set ss0;
                    }
                    output {
                        service-set ss0;
                    }
                }
            }
        }
    }
    ms-1/2/0 {
        unit 0 {
            family inet;
        }
    }
}
services {
    service-set ss0 {
        interface-service {
            service-interface ms-1/2/0;
        }
        #
        # extension-service name must match plug-in's name
        #
        extension-service passthru-plugin;
    }
}


Figure 1 Sample excerpts of a system configuration.
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:27:09 2010 for SDK Your Net Corporation Passthru Plug-in Example: passthru-plugin 1.0 by Doxygen 1.5.1