# udpEcho probe using the Cisco ARR measurement protocol 
# According to Cisco this probe type results in the most accurate latency measurements because
# the responder's CPU processing time is subtracted from the RTT values.
# please note the snmpset at the bottom, which starts the responder on the target Cisco
#
# This config can also be used to measure response times to machines with UDP echo daemons.
# -> use "rttMonEchoAdminTargetPort" 7 and "rttMonEchoAdminControlEnable" 2 and remove the snmpset.

# loopback address is recommended
$ioshost="14.24.25.26";
$community = "secret";
$entry=740;

@myparms=(
   # next 2 lines define the entry type
   "rttMonCtrlAdminRttType",		'integer',	5,
   "rttMonEchoAdminProtocol",		'integer',	3,
   "rttMonCtrlAdminOwner",		'octetstring',  "MRTG",

   "rttMonEchoAdminTargetAddress",	'octetstring',	ciscoRttMonLib::EncodeAddress("ResponderCisco.company.com"),
   "rttMonEchoAdminTargetPort",		'integer',	4712,

   # in ms
   "rttMonCtrlAdminTimeout",		'integer',	5000,
   # in s, timeout must be < frequency
   "rttMonCtrlAdminFrequency",		'integer',	14,
   # show this rtr entry in "show running" ? 1=true; 2=false
   "rttMonCtrlAdminNvgen",		'integer',	2,

   # work with a IOS RTR responder on the other end ? 1=true; 2=false
   # this enables the use of the Cisco RTT Asymmetric Request/Responses (ARR) protocol 
   "rttMonEchoAdminControlEnable",	'integer',	1,

   # size of ARR payload (ARR header overhead is 12 bytes, excluding layer 2 overhead)
   "rttMonEchoAdminPktDataRequestSize",	'integer',	100,
   "rttMonEchoAdminPktDataResponseSize",'integer',	100,

   "rttMonEchoAdminSourceAddress",	'octetstring',	ciscoRttMonLib::EncodeAddress($ioshost),
   # set ToS, e.g. ToS 160 equals precedence 5 or DSCP 40
   "rttMonEchoAdminTOS",		'integer',	0,

   # 20 is max
   "rttMonHistoryAdminNumBuckets",    	'integer',      20,
   "rttMonHistoryAdminNumLives",      	'integer',      1,
   # none(1), all(2), overThreshold(3), failures(4)
   "rttMonHistoryAdminFilter",        	'integer',      2,

   # 1 is "now"
   "rttMonScheduleAdminRttStartTime",	'timeticks',	1,
   # life and ageout in secs
   "rttMonScheduleAdminRttLife",	'integer',	3600,
   "rttMonScheduleAdminConceptRowAgeout",'integer', 	300
);

# set up responder 
snmpset ('secret@ResponderCisco.company.com:::::2', "rttMonApplResponder.0", 'integer', 1);
