# MCnet.ctl:215: Collects Network Information # $Id: MCnet.ctl,v 1.19 2015/09/29 08:41:06 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/EXPLORER/MCnet.ctl,v 1.19 2015/09/29 08:41:06 RDA Exp $ # # Change History # 20150925 JGS Execute virtinfo on SPARC only and redirect STDERR. =head1 NAME EXPLORER:MCnet - Collects Network Information =head1 DESCRIPTION This module collects network information. =cut use Buffer use Mrc # Initialization var $VALIDATE = true keep $VALIDATE section begin var $ERR = '---## Associated Errors' var $TOC = '%TOC%' var $TOP = '[[#Top][Back to top]]' var $WRN = ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present risks. To prevent them, access the file outside the \ browser or use the link to save them and use an adequate \ viewer.' run EXPLORER:XPLRlib('netinfo') #------------------------------------------------------------------------------ # XPLR_net section #------------------------------------------------------------------------------ section XPLR_net # Validate the execution context call log_run('Processing NET sections ...') =head2 Network information Gathers network related information using the following commands: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C (Oracle Solaris 11.2 and later) =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C (Oracle Solaris 11.2 and later) =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C (Oracle Solaris 11.2 and later) =item o C =item o C =item o C =item o C (Oracle Solaris 11.2 and later) =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back Also collects the following configuration files: =over 2 =item o F =item o F =item o F =item o F =item o F =item o F =item o F =item o F =back From Oracle Solaris 11.1, collects Service Management Facility (SMF) information, which includes the output of following commands: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back and following configuration files: =over 2 =item o F (recursive) =item o F (recursive) =item o F (recursive) =back =cut debug ' Inside NET collection, gathering NET information' pretoc '2:Network information' # Determine the files to collect var @fil = (['G','etc/aggregation.conf','/etc/aggregation.conf'],\ ['G','netinfo/ticlts-hosts/hosts','/etc/net/ticlts/hosts'],\ ['G','netinfo/ticots-hosts/hosts','/etc/net/ticots/hosts'],\ ['G','netinfo/ticotsord-hosts/hosts','/etc/net/ticotsord/hosts'],\ ['G','netinfo/nettr.sh','/etc/opt/SUNWconn/trunking/bin/nettr.sh'],\ ['B','netinfo/named.conf','/etc/named.conf'],\ ['B','netinfo/nfs4_domain','/var/run/nfs4_domain']) # Collect SMF configuration files if compare('VALID',get_solaris_version(),'5.11.1') call push(@fil,\ ['G','netinfo/etc/dladm','/etc/dladm',true],\ ['G','netinfo/etc/ipadm','/etc/ipadm',true],\ ['G','netinfo/etc/nwam','/etc/nwam',true]) # Perform the collection loop $rec (get_zones(false)) {if $loc = defined($nam = $rec->[0]) var ($ttl,$pre,$exe) = (concat('From Zone ',$nam),\ concat('zones/',$nam),\ concat('/usr/sbin/zlogin ',$nam)) else var ($ttl,$pre,$exe) = ('From Global Zone') var $top = $rec->[1] var $ver = $rec->[2] # Create the report debug ' Inside NET collection, collecting from ',nvl($nam,'global'),' zone' report concat('net_z_',nvl($nam,'global')) title '---+!! ',$ttl title $TOC # Collect ARP information var @cmd = () if or($loc,not(${OS.solaris})) call push(@cmd,\ '---+ Network Status Information',\ ['netinfo/arp-a',\ '/usr/sbin/arp','-a',\ '---++ Address Resolution Display and Control']) else {# Define a macro to extract information from the arp report macro extract_hosts {var ($rpt,$wrk) = @arg import @hst var $skp = 3 while ?$lin = $wrk->get_line() {call $rpt->write(chomp($lin)) next expr('>=',decr($skp),0) if match($lin,'^\S*\s+(\S+)') call push(@hst,last) } } # Collect the command var ($rpt,$cmd,@hst) = ('netinfo/arp-hostnames','/usr/sbin/arp -a') write '---+ Network Status Information' prefix {write '---++ Address Resolution Display and Control' write '---## Using: ',encode($cmd) } call collectCommand({nam=>'netinfo/arp-a',\ out=>{blk=>true,flt=>true,idx=>true,rpt=>${CUR.O_REPORT},\ dup=>['T',$rpt],fct=>'extract_hosts'},\ err=>{blk=>true,flt=>true,hdr=>$ERR,rpt=>${CUR.O_REPORT}}\ },$cmd) if hasOutput(true) write $TOP # Collect the ARP details if @hst {call addBlock('E','T',$rpt) call writeComment('-------------------------------------------------') loop $hst (@hst) {var $cmd = concat('/usr/sbin/arp ',$hst) prefix {write '---## Using: ',encode($cmd) call addBlock('E','T',$rpt) } call writeCommand($cmd) if hasOutput(true) write $TOP } } } # Filter manually netstat -an when filter enabled if isFiltered() {# Define the filter macro macro filter_ip {var ($rpt,$wrk) = @arg while ?$wrk->get_line() write {$rpt} replace(chomp(last),'\d+(\.\d+){3}','%R:IP4%',true) } call push(@cmd,\ ['netinfo/netstat-an',\ '/usr/bin/netstat','-an',\ '---++ Sockets, Routing Table Entries, and Interfaces',\ {out=>{fct=>'filter_ip'}}]) if compare('VALID',$ver,'5.11.2') call push(@cmd,\ ['netinfo/netstat-anu',\ '/usr/bin/netstat','-anu',\ '---++ Sockets, Routing, and Interfaces, with Users and Processes',\ {out=>{fct=>'filter_ip'}}]) } else {call push(@cmd,\ ['netinfo/netstat-an',\ '/usr/bin/netstat','-an',\ '---++ Sockets, Routing Table Entries, and Interfaces']) if compare('VALID',$ver,'5.11.2') call push(@cmd,\ ['netinfo/netstat-anu',\ '/usr/bin/netstat','-anu',\ '---++ Sockets, Routing, and Interfaces, with Users and Processes']) } # Collect netstat, nfsstat, rpcinfo, and sharectl information call push(@cmd,\ ['netinfo/netstat-gn',\ '/usr/bin/netstat','-gn',\ '---++ Multicast Group Memberships for all Interfaces'],\ ['netinfo/netstat-in',\ '/usr/bin/netstat','-in',\ '---++ Interfaces IP Traffic'],\ ['netinfo/netstat-m',\ '/usr/bin/netstat','-m',\ '---++ Streams Memory Statistics'],\ ['netinfo/netstat-pn',\ '/usr/bin/netstat','-pn',\ '---++ Net to Media Mapping Table'],\ ['netinfo/netstat-rn',\ '/usr/bin/netstat','-rn',\ '---++ Routing Tables'],\ ['netinfo/netstat-rvan',\ '/usr/bin/netstat','-rvan',\ '---++ Routing Tables with Additional Information'],\ ['netinfo/netstat-s',\ '/usr/bin/netstat','-s',\ '---++ Per-protocol Statistics'],\ ['netinfo/nfsstat',\ '/usr/bin/nfsstat',undef,\ '---++ NFS Statistics'],\ ['netinfo/nfsstat-m',\ '/usr/bin/nfsstat','-m',\ '---++ NFS Mountpoints Statistics'],\ ['netinfo/rpcinfo',\ '/usr/bin/rpcinfo',undef,\ '---++ RPC Information'],\ ['netinfo/rpcinfo-m',\ '/usr/bin/rpcinfo','-m',\ '---++ RPC Bind Statistics'],\ ['netinfo/sharectl-get-autofs',\ '/usr/sbin/sharectl','get autofs',\ '---++ Property Values for AUTOFS File Sharing Service'],\ ['netinfo/sharectl-get-nfs',\ '/usr/sbin/sharectl','get nfs',\ '---++ Property Values for NFS File Sharing Service'],\ ['netinfo/sharectl-get-smb',\ '/usr/sbin/sharectl','get smb',\ '---++ Property Values for SMB File Sharing Service']) # Collect nettr information if and(not($loc),testFile('x','/etc/opt/SUNWconn/bin/nettr')) {call push(@cmd,\ {cmd => 'TITLE',txt => '---+ Trunking information'},\ ['netinfo/nettr-conf',\ '/etc/opt/SUNWconn/bin/nettr','-conf',\ '---++ Configuration'],\ ['netinfo/nettr-conf_lacp',\ '/etc/opt/SUNWconn/bin/nettr','-conf lacp',\ '---++ Configuration with LACP Mode']) loop $lin (grepCommand('/etc/opt/SUNWconn/bin/nettr -conf','ge|qfe')) {var ($fst,$snd) = split('\s+',$lin,3) if match($fst,$snd) {if match(substr($fst,0,3),'qfe') {var $dev = substr($fst,3) call push(@cmd,\ [concat('netinfo/nettr-stats_',$dev,'_qfe_1'),\ '/etc/opt/SUNWconn/bin/nettr',\ concat('-stats ',quote($dev),' device=qfe type=1'),\ '---++ QFE Performance Statistics Type 1'],\ [concat('netinfo/nettr-stats_',$dev,'_qfe_2'),\ '/etc/opt/SUNWconn/bin/nettr',\ concat('-stats ',quote($dev),' device=qfe type=2'),\ '---++ QFE Performance Statistics Type 2']) } else {var $dev = substr($fst,2) call push(@cmd,\ [concat('netinfo/nettr-stats_',$dev,'_ge_1'),\ '/etc/opt/SUNWconn/bin/nettr',\ concat('-stats ',quote($dev),' device=ge type=1'),\ '---++ GE Performance Statistics Type 1'],\ [concat('netinfo/nettr-stats_',$dev,'_ge_2'),\ '/etc/opt/SUNWconn/bin/nettr',\ concat('-stats ',quote($dev),' device=ge type=2'),\ '---++ GE Performance Statistics Type 2']) } } } loop $lin (grepCommand('/etc/opt/SUNWconn/bin/nettr -conf','Key')) {var ($fst,$snd) = split('\s+',$lin,3) var $dev = replace($snd,'[^0-9]+') call push(@cmd,\ [concat('netinfo/nettr-stats_',$dev,'_ce_1'),\ '/etc/opt/SUNWconn/bin/nettr',\ concat('-stats ',quote($dev),' type=1'),\ '---++ CE Statistics Type 1'],\ [concat('netinfo/nettr-stats_',$dev,'_ce_2'),\ '/etc/opt/SUNWconn/bin/nettr',\ concat('-stats ',quote($dev),' type=2'),\ '---++ CE Statistics Type 2']) } call push(@cmd,{cmd => 'UNTITLE'}) } # Collect kstat, routeadm, and IPF information if compare('VALID',$ver,'5.8') call push(@cmd,\ {cmd => 'TITLE',txt => '---+ Kernel Statistics'},\ ['netinfo/kstat-p',\ '/usr/bin/kstat','-p',\ '---++ All Statistics'],\ ['netinfo/kstat-c_net_3_3',\ '/usr/bin/kstat','-c net 3 3',\ '---++ Kernel Network Statistics'],\ {cmd => 'UNTITLE'}) if compare('VALID',$ver,'5.10') {if !$loc call push(@cmd,\ ['netinfo/routeadm-p',\ '/usr/sbin/routeadm','-p',\ '---+ IP Forwarding and Routing Configuration']) if ?testFile('x',catFile($top,'usr','sbin','ipf')) call push(@cmd,\ ['netinfo/ipf-V',\ '/usr/sbin/ipf','-V',\ '---+ IP Filter Information']) } # Collect FireWall-1 information if !$loc call push(@cmd,\ ['netinfo/firewall-1_fw_ver',\ '/etc/fw/bin/fw','ver',\ '---+ FireWall-1 Version']) # Collect NIS+ information if expr('>',countCommand(join(' ',$exe,'ls -l /var/nis/* 2>/dev/null')),0) {call push(@cmd,\ {cmd => 'TITLE',txt => '---+ NIS+ Information'},\ ['netinfo/nisdefaults',\ '/usr/bin/nisdefaults',undef,\ '---++ Default Values'],\ ['netinfo/nisls-lR',\ '/usr/bin/nisls','-lR',\ '---++ Contents Listing'],\ ['netinfo/nisping-u',\ '/usr/lib/nis/nisping','-u org_dir',\ '---++ Time of the Last Update'],\ ['netinfo/nisshowcache-v',\ '/usr/lib/nis/nisshowcache','-v',\ '---++ Contents of the Shared Cache File'],\ ['netinfo/nisstat',\ '/usr/lib/nis/nisstat',undef,\ '---++ Server Statistics']) var ($nis) = command(join(' ',$exe,${CMD.DOMAINNAME:'domainname'})) if $nis call push(@cmd,\ [concat('netinfo/niscat-o_',$nis),\ '/usr/bin/niscat',concat('-o ',quote($nis)),\ concat('---++ ',$nis,' Object Information')]) call push(@cmd,{cmd => 'UNTITLE'}) } # Collect DLAM information if !$loc {call push(@cmd,{cmd => 'TITLE',txt => '---+ Data-Link Interface'}) if !grepCommand('/usr/sbin/dladm show-linkprop 2>&1','unknown subcommand',\ 'f') call push(@cmd,\ ['netinfo/dladm/dladm_show-linkprop',\ '/usr/sbin/dladm','show-linkprop',\ '---++ Property Values'],\ ['netinfo/dladm/dladm_show-link',\ '/usr/sbin/dladm','show-link',\ '---++ Link Configuration']) if compare('VALID',$ver,'5.11') {if compare('VALID',$ver,'5.11.2') call push(@cmd,\ ['netinfo/dladm/dladm_show-eoib',\ '/usr/sbin/dladm','show-eoib',\ '---++ EoIB Datalinks Information'],\ ['netinfo/dladm/dladm_show-phys_-V',\ '/usr/sbin/dladm','show-phys -V',\ '---++ Physical Devices and Attributes (with SR-IOV Information)'],\ ['netinfo/dladm/dladm_show-vnic_-V',\ '/usr/sbin/dladm','show-vnic -V',\ '---++ VNIC Configuration (with SR-IOV Information)']) if compare('VALID',$ver,'5.11.1') call push(@cmd,\ ['netinfo/dladm/dladm',\ '/usr/sbin/dladm','',\ '---++ Data-Link Overview']) call push(@cmd,\ ['netinfo/dladm/dladm_show-aggr_-L',\ '/usr/sbin/dladm','show-aggr -L',\ '---++ LAPC Aggregation Configuration'],\ ['netinfo/dladm/dladm_show-aggr_-x',\ '/usr/sbin/dladm','show-aggr -x',\ '---++ Extended Aggregation Configuration'],\ ['netinfo/dladm/dladm_show-aggr_-Z',\ '/usr/sbin/dladm','show-aggr -Z',\ '---++ Aggregation Configuration with Zone'],\ ['netinfo/dladm/dladm_show-bridge',\ '/usr/sbin/dladm','show-bridge',\ '---++ Bridge Configuration'],\ ['netinfo/dladm/dladm_show-ether_-Z',\ '/usr/sbin/dladm','show-ether -Z',\ '---++ Physical Ethernet Link Information'],\ ['netinfo/dladm/dladm_show-etherstub_-Z',\ '/usr/sbin/dladm','show-etherstub -Z',\ '---++ Configured Etherstubs'],\ ['netinfo/dladm/dladm_show-ib',\ '/usr/sbin/dladm','show-ib',\ '---++ InfiniBand Physical Link Information'],\ ['netinfo/dladm/dladm_show-iptun_-Z',\ '/usr/sbin/dladm','show-iptun -Z',\ '---++ IP Tunnel Link Configuration'],\ ['netinfo/dladm/dladm_show-part',\ '/usr/sbin/dladm','show-part',\ '---++ InfiniBand Partition Link Information']) if or(compare('ne',get_arc(),'sparc'),\ not(testFile('x','/usr/sbin/virtinfo')),\ grepCommand([lastTestCommand(),'-t 2>/dev/null'],'LDoms guest','iv')) call push(@cmd,\ ['netinfo/dladm/dladm_show-phys_-L',\ '/usr/sbin/dladm','show-phys -L',\ '---++ Physical Devices and Attributes (with Location Information)']) call push(@cmd,\ ['netinfo/dladm/dladm_show-phys_-Z',\ '/usr/sbin/dladm','show-phys -Z',\ '---++ Physical Devices and Attributes'],\ ['netinfo/dladm/dladm_show-phys_-m',\ '/usr/sbin/dladm','show-phys -m',\ '---++ Physical Devices and Attributes (with MAC Address Information)'],\ ['netinfo/dladm/dladm_show-secobj',\ '/usr/sbin/dladm','show-secobj',\ '---++ Secure Object Information'],\ ['netinfo/dladm/dladm_show-vlan_-Z',\ '/usr/sbin/dladm','show-vlan -Z',\ '---++ VLAN Configuration'],\ ['netinfo/dladm/dladm_show-vnic_-Z',\ '/usr/sbin/dladm','show-vnic -Z',\ '---++ VNIC Configuration'],\ ['netinfo/dladm/dladm_show-wifi_-Z',\ '/usr/sbin/dladm','show-wifi -Z',\ '---++ WiFi Configuration'],\ ['netinfo/dlstat-A',\ '/usr/sbin/dlstat','-A',\ '---++ All Statistics'],\ ['netinfo/dlstat-Z',\ '/usr/sbin/dlstat','-Z',\ '---++ Statistics']) } else {# Collect DLAM information (earlier than Oracle Solaris 11) call push(@cmd,\ ['netinfo/dladm/dladm_show-aggr_-L',\ '/usr/sbin/dladm','show-aggr -L',\ '---++ Aggregation Configuration'],\ ['netinfo/dladm/dladm_show-dev',\ '/usr/sbin/dladm','show-dev',\ '---++ Device Information']) } call push(@cmd,{cmd => 'UNTITLE'}) } # Collect ipmpstat information if compare('VALID',$ver,'5.11') {call command(join(' ',$exe,'/usr/bin/pgrep in.mpathd >/dev/null')) if !status() {call push(@cmd,\ {cmd => 'TITLE',txt => '---+ IPMP Subsystem Status'},\ ['netinfo/ipmpstat_an',\ '/usr/sbin/ipmpstat','-an',\ '---++ Address Information'],\ ['netinfo/ipmpstat_g',\ '/usr/sbin/ipmpstat','-g',\ '---++ Group Information'],\ ['netinfo/ipmpstat_i',\ '/usr/sbin/ipmpstat','-i',\ '---++ Interface Information'],\ ['netinfo/ipmpstat_tn',\ '/usr/sbin/ipmpstat','-tn',\ '---++ Target Information']) if grepCommand(join(' ',$exe,'/usr/sbin/ipmpstat -o mode -P -tn \ 2>/dev/null'),\ 'disabled','v') {var @res = command(join(' ',$exe,'/usr/sbin/ipmpstat -pn \ & /usr/bin/sleep 5 && /usr/bin/kill $!')) call push(@cmd,\ {cmd => 'ARRAY',nam => 'netinfo/ipmpstat_pn.out',tbl => \@res,\ det => '/usr/sbin/ipmpstat -pn & sleep 5 && kill $!',\ ttl => '---++ Probe Information'}) } call push(@cmd,{cmd => 'UNTITLE'}) } # Collect network configuration information call push(@cmd,\ {cmd => 'TITLE',txt => '---+ Bandwidth Resource Control'},\ ['netinfo/flowadm_show-flow',\ '/usr/sbin/flowadm','show-flow'],\ '---++ Flow Configuration',\ ['netinfo/flowadm_show-flow_-P',\ '/usr/sbin/flowadm','show-flow -P',\ '---++ Persistent Flow Information'],\ ['netinfo/flowadm_show-flowprop',\ '/usr/sbin/flowadm','show-flowprop',\ '---++ Flow Properties'],\ ['netinfo/flowadm_show-flowprop_-P',\ '/usr/sbin/flowadm','show-flowprop -P',\ '---++ Persistent Flow Properties'],\ ['netinfo/flowstat_-A',\ '/usr/sbin/flowstat','-A',\ '---++ Flow Statistics']) if ?testFile('x',catFile($top,'usr','sbin','ilbadm')) call push(@cmd,\ ['netinfo/ilbadm_export-config',\ '/usr/sbin/ilbadm','export-config',\ '---++ Integrated Load Balancer Current Configuration']) call push(@cmd,{cmd => 'UNTITLE'}) call push(@cmd,\ {cmd => 'TITLE',txt => '---+ IP Network Interfaces'}) if compare('VALID',$ver,'5.11.1') call push(@cmd,\ ['netinfo/ipadm',\ '/usr/sbin/ipadm',undef,\ '---++ Summary Information']) call push(@cmd,\ ['netinfo/ipadm_show-addr',\ '/usr/sbin/ipadm','show-addr',\ '---++ Address Information'],\ ['netinfo/ipadm_show-addrprop',\ '/usr/sbin/ipadm','show-addrprop',\ '---++ Address Properties'],\ ['netinfo/ipadm_show-prop',\ '/usr/sbin/ipadm','show-prop',\ '---++ Current and Persistent Network Property Values'],\ ['netinfo/ipadm_show-if_-o_all',\ '/usr/sbin/ipadm','show-if -o all',\ '---++ Interface Information'],\ ['netinfo/ipadm_show-ifprop',\ '/usr/sbin/ipadm','show-ifprop',\ '---++ Interface Properties'],\ {cmd => 'UNTITLE'}) if !$loc call push(@cmd,\ {cmd => 'TITLE',txt => '---+ IPMP Subsystem Status'},\ ['netinfo/ipmpstat_-a',\ '/usr/sbin/ipmpstat','-a',\ '---++ Address Information'],\ ['netinfo/ipmpstat_-g',\ '/usr/sbin/ipmpstat','-g',\ '---++ Group Information'],\ ['netinfo/ipmpstat_-i',\ '/usr/sbin/ipmpstat','-i',\ '---++ Interface Information'],\ {cmd => 'UNTITLE'}) call push(@cmd,\ {cmd => 'TITLE',txt => '---+ Network Profiles'},\ ['netinfo/netadm_list_-x',\ '/usr/sbin/netadm','list -x',\ '---++ Available Profiles and Status'],\ ['netinfo/netcfg_export',\ '/usr/sbin/netcfg','export',\ '---++ Configuration'],\ {cmd => 'UNTITLE'}) call push(@cmd,\ ['netinfo/soconfig_-l',\ '/usr/sbin/soconfig','-l',\ '---+ In-kernel Socket Configuration Table Dump']) if ?testFile('x',catFile($top,'usr','sbin','ipqosconf')) call push(@cmd,\ ['netinfo/ipqosconf_-l',\ '/usr/sbin/ipqosconf','-l',\ '---+ IPQoS Configuration']) if ?testFile('x',catFile($top,'usr','sbin','vrrpadm')) call push(@cmd,\ ['netinfo/vrrpadm_show-router_-x',\ '/usr/sbin/vrrpadm','show-router -x',\ '---+ Virtual Router Redundancy Protocol Information']) # Collect IDMAP nformation call push(@cmd,\ {cmd => 'TITLE',txt => '---+ Native Identity Mapping Configuration'},\ ['netinfo/svccfg_s_idmap_listprop',\ '/usr/sbin/svccfg','-s idmap listprop',\ '---++ IDMAP Service Properties'],\ ['netinfo/idmap_dump',\ '/usr/sbin/idmap','dump',\ '---++ Cached Mappings Dump'],\ ['netinfo/idmap_dump_n',\ '/usr/sbin/idmap','dump -n',\ '---++ Cached Mappings Dump (with Names)'],\ ['netinfo/idmap_list',\ '/usr/sbin/idmap','list',\ '---++ Mapping Rules'],\ {cmd => 'UNTITLE'}) # Collect CIFS information call push(@cmd,\ {cmd => 'TITLE',txt => '---++ Domain Information'},\ ['netinfo/smbadm_show_domains',\ '/usr/sbin/smbadm','show-domains',\ '---+ SMB/CIFS Configuration'],\ ['netinfo/smbadm_show_groups_mp',\ '/usr/sbin/smbadm','show-groups -mp',\ '---++ Group Information'],\ ['netinfo/svccfg_s_smb_listprop',\ '/usr/sbin/svccfg','-s smb listprop',\ '---++ SMB Service Properties'],\ ['netinfo/svccfg_s_smb_client_listprop',\ '/usr/sbin/svccfg','-s smb/client listprop',\ '---++ SMB/Client Service Properties'],\ ['netinfo/svccfg_s_smb_server_listprop',\ '/usr/sbin/svccfg','-s smb/server listprop',\ '---++ SMB/Server Service Properties'],\ {cmd => 'UNTITLE'}) } # Collect SMF information if and(not($loc),compare('VALID',$ver,'5.11.1')) call push(@cmd,\ {cmd => 'TITLE',txt => '---+ Service Management Facility Configuration'},\ ['netinfo/svccfg_s_dns_client_listprop_config',\ '/usr/sbin/svccfg','-s dns/client listprop config',\ '---++ DNS Configuration'],\ ['netinfo/ipfstat_-io',\ '/usr/sbin/ipfstat','-io',\ '---++ IPv4 Filter Rules'],\ ['netinfo/ipfstat_-io6',\ '/usr/sbin/ipfstat','-io6',\ '---++ IPv6 Filter Rules'],\ ['netinfo/svccfg_s_ldap_client_listprop_config',\ '/usr/sbin/svccfg','-s ldap/client listprop config',\ '---++ LDAP Configuration'],\ ['netinfo/svccfg_s_nis_domain_listprop_config',\ '/usr/sbin/svccfg','-s nis/domain listprop config',\ '---++ LDAP/NIS Domain Information'],\ ['netinfo/svccfg_s_name-service_switch_listprop_config',\ '/usr/sbin/svccfg','-s name-service/switch listprop config',\ '---++ Name Service Switch Configuration'],\ ['netinfo/svccfg_s_nis_client_listprop_config',\ '/usr/sbin/svccfg','-s nis/client listprop config',\ '---++ NIS Client Information'],\ ['netinfo/svccfg_s_network_location_default_listprop',\ '/usr/sbin/svccfg','-s network/location:default listprop',\ '---++ Service ``svc:/network/location:default`` Properties'],\ ['netinfo/svccfg_s_network_physical_default_listprop',\ '/usr/sbin/svccfg','-s network/physical:default listprop',\ '---++ Service ``svc:/network/physical:default`` Properties'],\ {cmd => 'UNTITLE'}) # Collect InfiniBand diagnostics and other miscellaneous information if !$loc {if ?testFile('x','/usr/bin/ibv_devinfo') call push(@cmd,\ ['netinfo/ibv_devinfo',\ '/usr/bin/ibv_devinfo',undef,\ '---+ InfiniBand Device Information']) if ?testFile('x','/usr/bin/rds-info') call push(@cmd,\ ['netinfo/rds-info',\ '/usr/bin/rds-info',undef,\ '---+ RDS Kernel Module Information'],\ ['netinfo/rds-info-n',\ '/usr/bin/rds-info','-n',\ '---+ RDS Connections Information']) if ?testFile('x','/usr/bin/mdb') {loop $inp ('ibtf_debug_buf','rdsv3_debug_buf','sol_ofs_debug_buf') call push(@cmd,\ [concat('netinfo/',$inp),\ '/usr/bin/mdb','-k',\ concat('---+ Debug Information: ',$inp),\ {req =>{inp => concat("*",$inp,"/s\012"),\ pre => concat("echo '*",$inp,"/s' |")},\ det => concat('echo "*',$inp,'/s" | /usr/bin/mdb -k')}]) } } # Collect the command outputs call do_remote($pre,$exe,$top,@cmd) # Collect ibdiagnet and all the files produced if !$loc {if ?testFile('x','/usr/sbin/ibdiagnet') {var $box = cleanBox() var %lnk = () call do_exec(['netinfo/ibdiagnet/ibdiagnet',\ '/usr/sbin/ibdiagnet',concat('-o ',quote($box)),\ '---+ InfiniBand Fabric Diagnostic']) loop $fil (grepDir($box,'^\.+$','nv')) {if ?testFile('fT',catFile($box,$fil)) var ($lnk{$fil}) = collectFile(concat('netinfo/ibdiagnet/',$fil),\ lastFile(),['C',concat('ibdiagnet (',$fil,')')]) } prefix {write '---+ Ibdiagnet Utility Results' write $WRN write '|*File*|' } loop $fil (keys(%lnk)) write '|[[../',$lnk{$fil},'][_blank][',$fil,']]|' if hasOutput(true) write $TOP } } # Collect the files prefix {write '---+ Configuration Files' write $WRN write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_rem($pre,$top,@fil) if hasOutput(true) write $TOP # Add the report in the table of content if isCreated(true) toc '3:[[',getFile(),'][rda_report][',$ttl,']]' } # Adjust the table of content unpretoc =head2 Zones =for zone begin netinfo By default, collects information from the global zone only. When local zone collections are requested explicitly, collects network related information from the selected local zones using the following commands: =over 2 =item o C =item o C =item o C =item o C (Oracle Solaris 11.2 and later) =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back and the following configuration files from the selected local zones: =over 2 =item o F =item o F =back =for zone end =head1 SEE ALSO L, L, L =head1 COPYRIGHT NOTICE Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. =head1 TRADEMARK NOTICE Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. =cut