SmartMIB Small Solution:

Multicast and Broadcast Packet Ratios


(SM-SmallSol005)

Solution’s SOSL Based management process script:

 

The solution defines the following main modules:

 

MainMIBTables:

This is the main module that controls and instantiates the ‘mibTables’ module.

 

MainFilterTables:

This is the main module that controls and instantiates the ‘FilterTables’ module.

 

MainIfTraffic:

This is the main module that controls and instantiates the ‘ifEthernetTraffic1’ and the ‘ifEthernetTraffic2’ modules.

 

MainIfHCTraffic:

This is the main module that controls and instantiates the ‘HCifEthernetTraffic1’ and the ‘HCifEthernetTraffic2’ modules.

 

The details of the Main modules and the transient Service modules are provided below:

 


 

MODULE MainMIBTables ();

DESCRIPTION "Interface INVENTORY information";

BEGIN

            POLL-FREQ

            {

                        MODULE-CALL mibTables();

 

                        WAIT (12000);

            };

END

 


 

MODULE MainFilterTables ();

DESCRIPTION "Interface INVENTORY information";

BEGIN

 

            POLL-FREQ

            {

                        MODULE-CALL FilterTables();

 

                        WAIT (12000);

            };

END

 


 

MODULE MainIfTraffic ();

DESCRIPTION "Normal Speed Interfaces traffic Process";

BEGIN

 

            ALL-DEV BY DEV

            {

                        MODULE-CALL EthernetTraffic1 (DEV);

            };

 

            POLL-FREQ

            {

                        WAIT (3000);

 

                        ALL-DEV BY DEV

                        {

                                    MODULE-CALL EthernetTraffic2 (DEV);

                        };

            };

END

 


 

MODULE MainIfHCTraffic ();

DESCRIPTION "High Speed Interfaces traffic Process";

BEGIN

 

            ALL-DEV BY DEV

            {

                        MODULE-CALL HCEthernetTraffic1 (DEV);

            };

 

            POLL-FREQ

            {

                        WAIT (3000);

 

                        ALL-DEV BY DEV

                        {

                                    MODULE-CALL HCEthernetTraffic2 (DEV);

                        };

            };

END

 


 

MODULE mibTables ();

DESCRIPTION "Interface INVENTORY information";

BEGIN              

            ALL-DEV BY DEV

            {

                        SET-INDEX ifTable ( ifDescr [ ifIndex, INT ] );

            };

END

 


 

MODULE FilterTables ();

DESCRIPTION "Interface INVENTORY information";

BEGIN

            ALL-DEV BY DEV

            {

                        WITH-INDEX ifTable

                        {

                                    POLL (   ifDescr;

                                                ifMtu;

                                                ifType;

                                                ifSpeed;

                                                ifAdminStatus;

                                                ifOperStatus      );

 

                                    DEFINE ifAdminStatus                 DB DISPL;        

                                    DEFINE ifType                            DB DISPL;        

                                    DEFINE ifOperStatus                   DB DISPL;

                                    DEFINE ifSpeed                          DB DISPL;        

 

                                    IF (    ifAdminStatus    == "up" AND

                                             ifOperStatus      == "up" AND

                                             ifType               == "^ethernetCsmacd" AND

                                             ifSpeed             <=  20000000 )

                                    THEN

                                                STORE-INDEX "IfEthernet";

 

                                                #############################################

                                                # “ifEthernet“ index list now contains the list of Ethernet csmacd

                                                # type interfaces on each of the managed elements

                                                #############################################

 

                                    ELSEIF  (           ifAdminStatus    == "up" AND

                                                            ifOperStatus      == "up" AND

                                                            ifType               == "^ethernetCsmacd" AND

                                                            ifSpeed             >  20000000      )

                                    THEN

                                                STORE-INDEX "IfHCEthernet";

 

                                                #############################################

                                                # “ifHCEthernet“ index list now contains the list of High Speed  

                                                # Ethernet csmacd type interfaces on each of the managed

                                                # elements

                                                #############################################

 

                                    ENDIF;

                        };

            };

END

 


 

MODULE  EthernetTraffic1 (DEV   DEVICE);

DESCRIPTION "";

BEGIN

 

            WITH-INDEX IfEthernet

            {

                        POLL (   ifInOctets;

                                    ifOutOctets;

                                    ifInUcastPkts;

                                    ifInMulticastPkts;

                                    ifOutUcastPkts;

                                    ifInBroadcastPkts;

                                    ifOutMulticastPkts;

                                    ifOutBroadcastPkts;

                                    sysUpTime;

                                    ifCounterDiscontinuityTime          );

            };

END

 


 

MODULE  HCEthernetTraffic1 (DEV     DEVICE);

DESCRIPTION "";

BEGIN

 

            WITH-INDEX IfHCEthernet

            {

                        POLL (   ifHCInOctets;

                                    ifHCOutOctets;

                                    ifHCInUcastPkts;

                                    ifHCInMulticastPkts;

                                    ifHCOutUcastPkts;

                                    ifHCInBroadcastPkts;

                                    ifHCOutMulticastPkts;

                                    ifHCOutBroadcastPkts;

                                    sysUpTime;

                                    ifCounterDiscontinuityTime          );

            };

END

 


 

MODULE  EthernetTraffic2 (DEV   DEVICE);

DESCRIPTION "";

BEGIN

 

            WITH-INDEX IfEthernet

            {

                        DEFINE ifInOctetsT1 INT;

                        DEFINE ifOutOctetsT1 INT;

                        DEFINE ifInUcastPktsT1 INT;

                        DEFINE ifInMulticastPktsT1 INT;

                        DEFINE ifInBroadcastPktsT1 INT;

                        DEFINE ifOutUcastPktsT1 INT;

                        DEFINE ifOutMulticastPktsT1 INT;

                        DEFINE ifOutBroadcastPktsT1 INT;

                        DEFINE nTime1 INT;

                        DEFINE ifDisconTime1 INT;

 

                        DEFINE ifInOctets DB INT;

                        DEFINE ifOutOctets DB INT;

                        DEFINE ifInUcastPkts DB INT;

                        DEFINE ifInMulticastPkts DB INT;

                        DEFINE ifInBroadcastPkts DB INT;

                        DEFINE ifOutUcastPkts  DB INT;

                        DEFINE ifOutMulticastPkts DB INT;

                        DEFINE ifOutBroadcastPkts DB INT;

                        DEFINE sysUpTime  DB INT;

                        DEFINE ifCounterDiscontinuityTime  DB INT;

 

                        ifInOctetsT1 = ifInOctets;

                        ifOutOctetsT1 = ifOutOctets;

                        ifInUcastPktsT1 = ifInUcastPkts;

                        ifInMulticastPktsT1 = ifInMulticastPkts;

                        ifInBroadcastPktsT1 = ifInBroadcastPkts;

                        ifOutUcastPktsT1 = ifOutUcastPkts;

                        ifOutMulticastPktsT1 = ifOutMulticastPkts;

                        ifOutBroadcastPktsT1 = ifOutBroadcastPkts;

 

                        nTime1 = sysUpTime /100;

                        ifDisconTime1 = ifCounterDiscontinuityTime;

 

                        RMV (    ifInOctets;

                                    ifOutOctets;

                                    ifInUcastPkts;

                                    ifInMulticastPkts;

                                    ifOutUcastPkts;

                                    ifInBroadcastPkts;

                                    ifOutMulticastPkts;

                                    ifOutBroadcastPkts;

                                    ifSpeed;

                                    ifCounterDiscontinuityTime);

 

                        POLL (   ifDescr; ifInOctets;

                                    ifOutOctets;

                                    ifInUcastPkts;

                                    ifInMulticastPkts;

                                    ifOutUcastPkts;

                                    ifInBroadcastPkts;

                                    ifOutMulticastPkts;

                                    ifOutBroadcastPkts;

                                    sysUpTime;

                                    ifCounterDiscontinuityTime          );

 

                        DEFINE ifInOctetsT2 INT;

                        DEFINE ifOutOctetsT2 INT;

                        DEFINE ifInUcastPktsT2 INT;

                        DEFINE ifInMulticastPktsT2 INT;

                        DEFINE ifInBroadcastPktsT2 INT;

                        DEFINE ifOutUcastPktsT2 INT;

                        DEFINE ifOutMulticastPktsT2 INT;

                        DEFINE ifOutBroadcastPktsT2 INT;

 

                        ifInOctetsT2 = ifInOctets;     

                        ifOutOctetsT2 = ifOutOctets;

                        ifInUcastPktsT2 = ifInUcastPkts;

                        ifInMulticastPktsT2 = ifInMulticastPkts;

                        ifInBroadcastPktsT2 = ifInBroadcastPkts;

                        ifOutUcastPktsT2 = ifOutUcastPkts;

                        ifOutMulticastPktsT2 = ifOutMulticastPkts;

                        ifOutBroadcastPktsT2 = ifOutBroadcastPkts;

 

                        DEFINE nTime2              INT;

                        DEFINE ifDisconTime2     INT;

 

                        nTime2             = sysUpTime /100;

                        ifDisconTime2    = ifCounterDiscontinuityTime;

 

                        IF         (ifDisconTime2 == ifDisconTime1)

                        THEN                

           

                                CounterData(     DeltaifInOctets, 

                                                        ifInOctetsT1,     

                                                        ifInOctetsT2);

 

                                CounterData(     DeltaifOutOctets,           

                                                        ifOutOctetsT1,   

                                                        ifOutOctetsT2);

 

                                CounterData(     DeltaifInUcastPkts ,                   

                                                        ifInUcastPktsT1,            

                                                        ifInUcastPktsT2);

 

                                CounterData(     DeltaifInBroadcastPkts,              

                                                        ifInBroadcastPktsT1,      

                                                        ifInBroadcastPktsT2);

 

                                CounterData(     DeltaifInMulticastPkts ,               

                                                        ifInMulticastPktsT1,        

                                                        ifInMulticastPktsT2);

 

                                CounterData(     DeltaifOutUcastPkts,                  

                                                        ifOutUcastPktsT1,                      

                                                        ifOutUcastPktsT2);

 

                                CounterData(     DeltaifOutBroadcastPkts,

                                                        ifOutBroadcastPktsT1,    

                                                        ifOutBroadcastPktsT2);

 

                                CounterData(     DeltaifOutMulticastPkts,

                                                        ifOutMulticastPktsT1,      

                                                        ifOutMulticastPktsT2);

           

                                DEFINE TotalInPkts          DB INT;

                                DEFINE TotalOutPkts        DB INT;

 

                                TotalInPkts = (     DeltaifInUcastPkts

                                                            + DeltaifInMulticastPkts

                                                            + DeltaifInBroadcastPkts            );

 

                                TotalOutPkts = (   DeltaifOutUcastPkts

                                                            + DeltaifOutMulticastPkts

                                                            + DeltaifOutBroadcastPkts          );

 

                                ###########################################

                                ## Calculating the time difference between the first and

                                ## second run polls as reported by each managed element

                                ###########################################

 

                                 DEFINE DeltaT   INT;                             

                                 DeltaT = nTime2 - nTime1;

 

                                 DEFINE ifSpeed              DB INT;

 

                                 IF         (ifSpeed != 0 AND DeltaT > 0)

                                 THEN

 

                                    ############################################

                                    ## The following formulas calculates the In/OutUtilization

                                    ## values for all traffic passing for the particular interface type

                                    ############################################

 

                                    DEFINE InTrafficUtilization                       DB INT;

                                    DEFINE OutTrafficUtilization         DB INT;

 

                                    InTrafficUtilization = (DeltaifInOctets * 8) * 100 / (DeltaT * ifSpeed);

                                    OutTrafficUtilization = (DeltaifOutOctets * 8) * 100/ (DeltaT * ifSpeed);

 

                                    ###############################################

                                    # Traffic Utilization calculation and the extraction of the utilization

                                    # values per traffic type:

                                    ###############################################

                                                  

                                    DEFINE InUnicastTtrafficRatio DB INT;

                                    DEFINE InUnicastUtilization DB INT;

                                    DEFINE OutUnicastTtrafficRatio DB INT;

                                    DEFINE OutUnicastUtilization DB INT;

                                    DEFINE InMulticastTtrafficRatio DB INT;

                                    DEFINE InMulticastUtilization DB INT;

                                    DEFINE OutMulticastTtrafficRatio DB INT;

                                    DEFINE OutMulticastUtilization DB INT;

                                    DEFINE InBroadcastTtrafficRatio DB INT;

                                    DEFINE InBroadcastUtilization DB INT;

                                    DEFINE BroadcastTtrafficRatio DB INT;

                                    DEFINE BroadcastUtilization DB INT;

 

                        InUnicastTtrafficRatio      = DeltaifInUcastPkts / TotalInPkts;

                        InUnicastUtilization         = InUnicastTtrafficRatio * InDataUtilization;

 

                        OutUnicastTtrafficRatio    = DeltaifOutUcastPkts / TotalOutPkts;

                        OutUnicastUtilization       = OutUnicastTtrafficRatio * OutTrafficUtilization;

 

                        InMulticastTtrafficRatio    = DeltaifInMulticastPkts / TotalInPkts;

                        InMulticastUtilization       = InMulticastTtrafficRatio * InTrafficUtilization;

 

                        OutMulticastTtrafficRatio  = DeltaifOutMulticastPkts / TotalInPkts;

                        OutMulticastUtilization     = OutMulticastTtrafficRatio * OutTrafficUtilization;

           

                        InBroadcastTtrafficRatio  = DeltaifInBroadcastPkts / TotalInPkts;

                        InBroadcastUtilization     = InBroadcastTtrafficRatio * InTrafficUtilization;

                                                         

                        OutBroadcastTtrafficRatio  = DeltaifInBroadcastPkts / TotalInPkts;

                        OutBroadcastUtilization     = OutBroadcastTtrafficRatio * OutTrafficUtilization;

 

                                    ENDIF;

                        ENDIF;

            };

END

 


 

MODULE  HCEthernetTraffic2 (DEV     DEVICE);

DESCRIPTION "";

BEGIN

 

            WITH-INDEX IfHCEthernet

            {

                        DEFINE ifHCInOctetsT1 INT;

                        DEFINE ifHCOutOctetsT1 INT;

                        DEFINE ifHCInUcastPktsT1 INT;

                        DEFINE ifHCOutUcastPktsT1 INT;

                        DEFINE ifHCInMulticastPktsT1 INT;

                        DEFINE ifHCInBroadcastPktsT1 INT;

                        DEFINE ifHCOutMulticastPktsT1 INT;

                        DEFINE ifHCOutBroadcastPktsT1 INT;

                        DEFINE nTime1 INT;

                        DEFINE ifDisconTime1 INT;

 

                        DEFINE ifInOctets DB INT;

                        DEFINE ifOutOctets DB INT;

                        DEFINE ifInUcastPkts DB INT;

                        DEFINE ifOutUcastPkts DB INT;

                        DEFINE ifHCInMulticastPkts DB INT;

                        DEFINE ifHCInBroadcastPkts DB INT;

                        DEFINE ifHCOutMulticastPkts DB INT;

                        DEFINE ifHCOutInBroadcastPkts DB INT;

                        DEFINE sysUpTime DB INT;

                        DEFINE ifCounterDiscontinuityTime DB INT;

 

                        ifHCInOctetsT1 = ifHCInOctets; 

                        ifHCOutOctetsT1 = ifHCOutOctets;

                        ifHCInUcastPktsT1 = ifHCInUcastPkts;

                        ifHCOutUcastPktsT1 = ifHCOutUcastPkts;

                        ifHCInMulticastPktsT1 = ifHCInMulticastPkts;

                        ifHCInBroadcastPktsT1 = ifHCInBroadcastPkts;

                        ifHCOutMulticastPktsT1 = ifHCOutMulticastPkts;

                        ifHCOutBroadcastPktsT1 = ifHCOutBroadcastPkts;

 

                        nTime1 = sysUpTime /100;

                        ifDisconTime1 = ifCounterDiscontinuityTime;

 

                        RMV (    ifHCInOctets;

                                    ifHCOutOctets;

                                    ifHCInUcastPkts;

                                    ifHCInMulticastPkts;

                                    ifHCOutUcastPkts;

                                    ifHCInBroadcastPkts;

                                    ifHCOutMulticastPkts;

                                    ifHCOutBroadcastPkts;

                                    ifSpeed;

                                    sysUpTime;

                                    ifCounterDiscontinuityTime);

 

                        POLL (   ifHCInOctets;

                                    ifHCOutOctets;

                                    ifHCInUcastPkts;

                                    ifHCInMulticastPkts;

                                    ifHCOutUcastPkts;

                                    ifHCInBroadcastPkts;

                                    ifHCOutMulticastPkts;

                                    ifHCOutBroadcastPkts;

                                    ifSpeed;

                                    sysUpTime;

                                    ifPhysAddress;

                                    ifCounterDiscontinuityTime

                                    ifLinkUpDownTrapEnable );

 

                        DEFINE ifHCInOctetsT2 INT;

                        DEFINE ifHCOutOctetsT2 INT;

                        DEFINE ifHCInUcastPktsT2 INT;

                        DEFINE ifHCOutUcastPktsT2 INT;

                        DEFINE ifHCInMulticastPktsT2 INT;

                        DEFINE ifHCInBroadcastPktsT2 INT;

                        DEFINE ifHCOutMulticastPktsT2 INT;

                        DEFINE ifHCOutBroadcastPktsT2 INT;

 

                        ifHCInOctetsT2 = ifHCInOctets; 

                        ifHCOutOctetsT2 = ifHCOutOctets;

                        ifHCInUcastPktsT2 = ifHCInUcastPkts;

                        ifHCOutUcastPktsT2 = ifHCOutUcastPkts;

                        ifHCInMulticastPktsT2 = ifHCInMulticastPkts;

                        ifHCInBroadcastPktsT2 = ifHCInBroadcastPkts;

                        ifHCOutMulticastPktsT2 = ifHCOutMulticastPkts;

                        ifHCOutBroadcastPktsT2 = ifHCOutBroadcastPkts;

 

                        DEFINE nTime2              INT;

                        DEFINE ifDisconTime2     INT;

 

                        nTime2              = sysUpTime /100;

                        ifDisconTime2    = ifCounterDiscontinuityTime;

           

                        IF         (ifDisconTime2 == ifDisconTime1)

                        THEN                            

 

                            CounterData64( DeltaifHCInOctets,

                                                    DeltaifHCInOctetsT1,

                                                    DeltaifHCInOctetsT2);

 

                            CounterData64( DeltaifHCOutOctets,

                                                    DeltaifHCOutOctetsT1,

                                                    DeltaifHCOutOctetsT2);

 

                            CounterData64( DeltaifHCInUcastPkts,    

                                                    DeltaifHCInUcastPktsT1,

                                                    DeltaifHCInUcastPktsT2);

 

                            CounterData64( DeltaifHCOutUcastPkts,  

                                                    DeltaifHCOutUcastPktsT1,

                                                    DeltaifHCOutUcastPktsT2);

 

                            CounterData64( DeltaifHCInMulticastPkts,           

                                                    DeltaifHCInMulticastPktsT1,

                                                    DeltaifHCInMulticastPktsT2);

 

                            CounterData64( DeltaifHCInBroadcastPkts,         

                                                    DeltaifHCInBroadcastPktsT1,

                                                    DeltaifHCInBroadcastPktsT2);

 

                            CounterData64( DeltaifHCOutMulticastPkts,

                                                   DeltaifHCOutMulticastPktsT1,

                                                   DeltaifHCOutMulticastPktsT2);

 

                            CounterData64( DeltaifHCOutBroadcastPkts,

                                                    DeltaifHCOutBroadcastPktsT1,

                                                    DeltaifHCOutBroadcastPktsT2);

 

                            DEFINE TotalInPkts          DB INT;

                            DEFINE TotalOutPkts        DB INT;

 

                            TotalInPkts = (     DeltaifHCInUcastPkts

                                                            + DeltaifHCInMulticastPkts

                                                            + DeltaifHCInBroadcastPkts        );

 

                            TotalOutPkts = (   DeltaifHCOutUcastPkts

                                                            + DeltaifHCOutMulticastPkts

                                                            + DeltaifHCOutBroadcastPkts      );

                                                           

                            ################################################

                            ## Calculating the time difference between the first and second run

                            ## polls as reported by each managed element

                            ################################################

 

                            DEFINE DeltaT   INT;     

                            DeltaT =  nTime2 - nTime1;

 

                            DEFINE ifSpeed              DB INT;

 

                            IF (ifSpeed != 0 AND DeltaT > 0)

                            THEN

 

                                    #############################################

                                    ## The following formulas calculates the In/OutUtilization

                                    ## values for all traffic passing for the particular interface type

                                    #############################################

 

                                    DEFINE InTrafficUtilization                       DB INT;

                                    DEFINE OutTrafficUtilization         DB INT;

 

                                 InTrafficUtilization = (DeltaifHCInOctets * 8) * 100 / (DeltaT * ifSpeed);

                                 OutTrafficUtilization = (DeltaifHCOutOctets * 8) * 100/ (DeltaT * ifSpeed);

 

                                    ###############################################

                                    # Traffic Utilization calculation and the extraction of the utilization

                                    # values per traffic type:

                                    ###############################################

                                                  

                                    DEFINE HCInUnicastTtrafficRatio DB INT;

                                    DEFINE HCInUnicastUtilization DB INT;

                                    DEFINE HCOutUnicastTtrafficRatio DB INT;

                                    DEFINE HCOutUnicastUtilization DB INT;

                                    DEFINE HCInMulticastTtrafficRatio DB INT;

                                    DEFINE HCInMulticastUtilization DB INT;

                                    DEFINE HCOutMulticastTtrafficRatio DB INT;

                                    DEFINE HCOutMulticastUtilization DB INT;

                                    DEFINE HCInBroadcastTtrafficRatio DB INT;

                                    DEFINE HCInBroadcastUtilization DB INT;

                                    DEFINE HCBroadcastTtrafficRatio DB INT;

                                    DEFINE HCBroadcastUtilization DB INT;

 

                  HCInUnicastTtrafficRatio          = DeltaifHCInUcastPkts / TotalInPkts;

                  HCInUnicastUtilization             = HCInUnicastTtrafficRatio * InTrafficUtilization;

 

                  HCOutUnicastTtrafficRatio       = DeltaifHCOutUcastPkts / TotalOutPkts;

                  HCOutUnicastUtilization          = HCOutUnicastTtrafficRatio * OutTrafficUtilization;

 

                  HCInMulticastTtrafficRatio       = DeltaifHCInMulticastPkts / TotalInPkts;

                  HCInMulticastUtilization          = HCInMulticastTtrafficRatio * InTrafficUtilization;

 

                  HCOutMulticastTtrafficRatio    = DeltaifOutMulticastPkts / TotalInPkts;

                  HCOutMulticastUtilization       = HCOutMulticastTtrafficRatio * OutTrafficUtilization;

           

                  HCInBroadcastTtrafficRatio     = DeltaifHCInBroadcastPkts / TotalInPkts;

                  HCInBroadcastUtilization        = HCInBroadcastTtrafficRatio * InTrafficUtilization;

                                                           

                  HCOutBroadcastTtrafficRatio  = DeltaifHCInBroadcastPkts / TotalInPkts;

                  HCOutBroadcastUtilization     = HCOutBroadcastTtrafficRatio * OutTrafficUtilization;

 

                                    ENDIF;

                        ENDIF;

            };

END

 


Multicast and Broadcast Packet Ratios Index Page

Previous Page Page 4/6 Next Page


[Small Solutions], [Professional Solutions], [Security Solutions], [Development Solutions]

[Home], [About], [Solutions Center], [NMS Market], [Products & Services],
[Management Technology], [Technical Support], [Contact us], [Site Map]