#!/pkg/bin/ksh
# ---------------------------------------------------------------------
# show_tech_eem_fast - show commands for show tech-support 
#                      eem spawned by show_tech_fast
#
# May 2010, kaverma 
#
# Copyright (c) 2010-2014, 2016, 2018 by cisco Systems, Inc.
# All rights reserved.
# --------------------------------------------------------------------

. /pkg/bin/show_tech_main_fragment

__cardtype="unspecified"

# Parse the arguments to the script.
while [ "$#" -gt "0" ]; do
    case "$1" in
        -t) __cardtype="$2"; shift 2;;
        *)  default_parser_function "$@"; shift $#;;
    esac
done

if [ "$__filename" = "unspecified" ]; then
    echo "show_tech_eem_fast: output file not specified"
    exit
fi

if [ "$__cardtype" == "unspecified" ]; then
    __cardtype=`node_type`
fi

# ***********************************************************
#  Show commands to be run by the show tech-support commands
# ***********************************************************
# Commands that run on once per system

exec_counter=1;
ksh_counter=1;

sys_exec[((exec_counter++))]="show running-config"
sys__ksh[((ksh_counter++))]='nvgen -c -l 1 -t 1 -i1 -o 1'
sys_exec[((exec_counter++))]="show event manager detector all"
sys__ksh[((ksh_counter++))]='fh_show_policy -c'
sys_exec[((exec_counter++))]="show event manager policy available"
sys__ksh[((ksh_counter++))]='fh_show_policy -a -t 0x2'
sys_exec[((exec_counter++))]="show event manager policy registered"
sys__ksh[((ksh_counter++))]='fh_show_policy -r -e 0x154 -t 0x2'
sys_exec[((exec_counter++))]="show run event manager"
sys__ksh[((ksh_counter++))]='nvgen -c -q gl/fm/'
sys_exec[((exec_counter++))]="show event manager refresh-time"
sys__ksh[((ksh_counter++))]='fh_show_policy -f'
sys_exec[((exec_counter++))]="show logging"
sys__ksh[((ksh_counter++))]='show_logging'
sys_exec[((exec_counter++))]="show event manager trace all location all"
sys__ksh[((ksh_counter++))]='fh_show_ltrace -i all 0x0 0x10000000'
sys_exec[((exec_counter++))]="show event manager internal all"
sys__ksh[((ksh_counter++))]='fh_show_internal 0x10000000'
sys_exec[((exec_counter++))]="show system statistics component ha-eem server all"
sys__ksh[((ksh_counter++))]='ship_show -c ha-eem -s'
sys_exec[((exec_counter++))]="show placement program group netmgmt"
sys__ksh[((ksh_counter++))]='placed_show -g netmgmt'
sys_exec[((exec_counter++))]="show track"
sys__ksh[((ksh_counter++))]='object_tracking_cmd show track all-tracks all'
sys_exec[((exec_counter++))]="show tech xos"
sys__ksh[((ksh_counter++))]='show_tech_xoslib'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_server  option all"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_server -T all'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_metric_dir option all"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_metric_dir -T all'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_policy_dir option all"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_policy_dir -T all'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process tclsh option all"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P tclsh -T all'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_track option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_track -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_sysmgr option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_sysmgr -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_wdsysmon_edm option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_wdsysmon_edm -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_config option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_config -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_cli option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_cli -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_counter option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_counter -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_none option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_none -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_hardware option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_hardware -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_oir option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_oir -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_syslog option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_syslog -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_test option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_test -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_timer option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_timer -T err'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_snmp option err location all"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_snmp -T err -i all'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_snmp_proxy option err location all"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_snmp_proxy -T err -i all'
sys_exec[((exec_counter++))]="show ipc p2p trace p2p-ipc process eem_ed_stats option err"
sys__ksh[((ksh_counter++))]='show_ltrace_aipc -X -A -P eem_ed_stats -T err'

if [ "$platform" == "panini" ]; then
    sys_exec[((exec_counter++))]="run ctracedec -Atgkspd eem_ed_sysmgr"
    sys__ksh[((ksh_counter++))]='ctracedec -Atgkspd eem_ed_sysmgr'
fi

sys__ksh[((ksh_counter++))]=''

display() {
    print_main_heading "show tech-support eem"
    if [ "$__cardtype" == "SYS" ]; then
        exec_commands sys
    fi
    print_main_heading "show tech-support eem complete"
}

# Run the appropriate function depending on the node specified and if a
# file is specified write the output to that file. We need to redirect
# stderr to stdout when writing to a file because some of the show
# commands output to stderr instead of stdout
. /pkg/bin/show_tech_file_fragment
