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
|
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]