Home
Avaya Writing Technician Interface Scripts User's Manual
Contents
1. if Sinvalch 0 then goto FI SAMP HELP setenv teststr Q4 amp tN 7 72 let invalch strpbrk 3 Steststr if Sinvalch 0 then goto FI SAMP HELP A 28 117382 A Rev A FI SAMP CKVAL if Speriod lt 0 then PON echo Period of period seconds is too low Sample Scripts goto FI HELP SHOW Check for circuit to match on if 4 lt 3 then goto FI Sampl setenv cmd 4 let len strlen cmd if Slen lt 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 5 then goto FI HELP SHOW setenv matchcct 5 Take the first sample FI_Samp1 echo printf FDDI Sampled Data over 3u seconds n Speriod echo S d echo printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s n SEI QNID OMS Rx Tx Rx Lack of Tx Lack of printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s n Slot Conn Circuit Frames Frames Resources N Resources printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s n Ww m Mw m Mw m Ww m Ww m Ww m N printf Taking first sample instenv list wfFddiEntry let i 1 if 1ist 0 0 then printf Nr Nr goto FOOTER AND END 117382 A Rev A A 29 Writing Technician Interface Scripts FI_SAMP1_LP on error FI SAMP if i g
2. let i strindex hwfilters cmd if i 1 then goto FI HWF let i strindex version cmd if i 1 then goto FI VER FI HELP SHOW echo FDDI Show Command Help cho M echo echo show fddi lt option gt echo Where option is one of the following echo echo alerts echo base circuit circuit name echo disabled echo enabled echo hwfilters echo mac circuit circuit name echo port echo receive errors circuit circuit name gt echo sample lt period in seconds gt circuit circuit name gt echo smt circuit circuit name gt echo stats circuit circuit name gt echo system errors circuit circuit name echo transmit errors circuit circuit name echo version goto FI END HHPHERHEEREEEEREEEE HER EEEREEEREEEE EERE EEAPEEEPEEEE EERE EB E E Base or Module screen HHPHERHEEAEEEREEEEE EER EEEREEPEEER EERE EEEPEEEPEEES EEE E EB EE FI_BASE check for circuit name to match on if 2 then goto FI BASE NM setenv cmd 3 let len strlen cmd if Slen lt 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 4 then goto FI HELP SHOW setenv matchcct 4 117382 A Rev A FI BASE NM setenv nextfla setenv pattern setenv nextid array attr array a attr array a attr enum 1 Cct wr g wr worm S
3. SEI Tels check for circuit name to match on if lt 3 then goto FI_XMIT_NM setenv cmd 4 let len strlen cmd if Slen 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if 5 then goto FI HELP SHOW setenv matchcct 5 FI XMIT NM setenv nextflag setenv pattern wr wr 117382 A Rev A A 17 Writing Technician Interface Scripts setenv nextid array attr wfFDDICct wfFDDISlot wfFDDINode Wan wfFDDIAbortTx wfFDDIUnderrunTx enum 1 Cct Slot Node AbortTx UnderrunTx echo echo M FDDI Module Transmit Errors cho echo printf printf 4 4s 4 4s 8 8s 10 10s 10 10s n Ww m Ww m Mw m yN Aborted m Ww Underrun n 4 4s 4 4s 8 8s 10 10s 10 10s n Slot Conn Circuit Frames Errors printf M 4 4s 4 4s 8 8s 10 now 10s 10 10s Wn N now How How let i 0 FI_TXLOOP on error FI_XMIT_NXT mibget n wfFddiEntry attr nextid value nextid if nextid END then let i i 1 goto FOOTER_AND_END let cctnum value Cct gosub GETCCTNAME if matchcct W then goto FI PRNTT if ic matchcct Scctname then goto FI XMIT NXT let match entries match entries 1 FI PRNTT printf 4d 4d 8 8s 10u 10u n value S1ot value S Node
4. A 36 117382 A Rev A Disable circuit FI_DSBLC if Sf 3 then goto FI HELP DSBL instenv list wfFddiEntry if Slist 0 0 then goto FI DSBLNF setenv matchcct 3 if matchcct then goto FI END let i 1 Search for circuit with matching name FI_DSBLLP on error FI_DSBLNXT if i gt Slist 0 then goto let cctnum gosub GETCCTNAME if ic matchcct Scctname then Found it FI DSBLNE Sample Scripts wfFddiEntry wfFDDICct list i goto FI DSBLNXT set wfFddiEntry wfFDDIEnable list_ i 2 echo FDDI commit FI END goto FI DSBLNXT let i i 1 goto FI_DSBLLP FI_DSBLNF echo FDDI circuit 3 not found FI_END goto Disable connector circuit cctname disabled 117382 A Rev A A 37 Writing Technician Interface Scripts FI DSBLI if Sf l 3 then goto FI HELP DSBL Sanity check lt slot connector gt parameter if Sver x7 80 then goto SKIP_STRPBRK2 setenv teststr ABCDEFGHIJKLMNOPQRSTUVWXYZ let invalch strpbrk 3 S teststr if Sinvalch 0 then goto FIDS MSGl1 HELP setenv teststr abcdefghijklmnopqrstuvwxyz let invalch strpbrk 3 Steststr if Sinvalch 0 then goto FIDS MSGl HELP setenv teststr S amp _ gt 72 let
5. Scctname value SAbortTx value UnderrunTx cutenv if S name2 0 c9 15 name2 Scctname 1 then printf 4s 4s 7 7sNn S name2 1 FI_XMIT_NXT let i goto TGHRHBHBE System THHHHHERHEBE S3 be gli FI TXLOOP RT TH ERE E AE REE EEE EEE EHR RE EE RAE EH ERE AE AE TE FEAE AE EERE T Errors screen HHH AE TE FE AE HEE EE AE AE FE EE REE EE REE FE FE E AE TE HERE EE RPE FE FE FE HEHE H 117382 A Rev A FI SYSTEM if let cmdlen strlen 3 Sample Scripts 3 then goto FI Syl let i strindex errors 3 if i 1 then if cmdlen gt 3 then goto FI Syl goto FI HELP FI_Syl check for circuit name to match on if lt 3 then goto FI_SYS_NM setenv cmd 4 let len strlen cmd if Slen 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 5 then goto FI HELP SHOW setenv matchcct 5 FI SYS NM wr setenv nextflag setenv pattern setenv nextid wa Wan array attr wfFDDICct wfFDDISlot wfFDDINode wfFDDIParityErrRx wfFDDIParityErrTx array a attr wfFDDIRingErrRx wfFDDIRingErrTx wfFDDISmtRingErrRx wfFDDIPortOpErr array a attr wfFDDIInternOpErr wfFDDIHostErr enum 1 Cct Slot Node ParityErrRx ParityErrTx i enum i RingErrRx RingErrTx SmtRingErrRx PortOp
6. value HostErr echo cutenv c9 15 name2 cctname if name2 0 1 then printf 4s 4s 7 7sNn S name2 1 FI_SYS NXT let i i 1 goto FI_SyLOOP HEE HH AE RH EEE HE EEE HE EE EE AE EAE EE EEE ERE ERA ERE SMT screen HEH aE RH EE EEE HE EEE EERE EE REE HE AEE EE EE EE RE EERE ERR FI_SMT let i 1 A 20 117382 A Rev A check for circuit name to match on Sample Scripts if S 2 then goto FI SMT NM setenv cmd 3 let len strlen cmd if Slen 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 4 then goto FI HELP SHOW setenv matchcct 4 FI SMT NM echo echo FDDI Modules SMT Parameters cho d echo printf 4 4s 4 4s 8 8s 31 31s 8 8s 8 8s 6 6s n w Connection Policy R Reject w w printf 4 4s 4 4s 8 8s 31 31s 8 8s 8 8s 6 6s n printf 18 18s 31 31s 8 8s 8 8s 6 6s n Local IMMMMSSSSBBBBAA A A W wr wr printf 18 18s 31 31s 8 8s 8 8s 6 6s n Neighbor MS BAMSBAMSBAMSB A W wrw cr printf 4 4s 4 4s 8 8s 31 31s 8 8s 8 8s 6 6s n m eer bes MESH ape po ds e IM der Sn PP peo es ECM Connect Notify printf 4 4s 4 4s 8 8s 31 31s 8 8s 8 8s 6
7. A 26 117382 A Rev A LED PORT P on error FI PORT NXT if i gt S list 0 then goto printf 4d 4d wfFddiP w FddiPortEntry wfFddiPor let port wfFddiPortEntr if Sport 1 then printf if Sport 2 then printf if Sport 3 then printf if Sport 4 then printf if Sport 5 then printf let port wfFddiPortEntr if Sport 1 then printf if Sport 2 then printf if Sport 3 then printf if Sport 4 then printf if Sport 5 then printf let port wfFddiPortEntr if Sport 1 then printf if Sport 2 then printf if Sport 3 then printf if Sport 4 then printf if Sport 5 then printf if Sport 6 then printf if Sport 7 then printf if Sport 8 then printf if Sport 9 then printf if Sport 10 then printf Sample Scripts FOOTER AND END ortEntry wfFddiPortSlot list_ i tNode list_ i y wfFddiPortPcType list_ i m MAY 5s B m NS 5s M 5s None 4 2 oe oe E oe oe U o 91 o 4 2 4 2 y wfFddiPortPcNeighbor list_ i S 95 a Np 4 2 o 4 2 oe oe a X o ie n Ko o 4 2 wg E Ho wr 9s M 9s Unknown 4 2 4 2 y wfFddiPortPomState list_ i Yag A OEE 9s Break 9s Trace 9s Connect 9s Next Signal 9s Join 9s Verify 9s Active 9s Maint o pri
8. You use a semicolon to end an if command The semicolon separates the if command from the commands you want executed if the if command is true To suspend the Technician Interface s operation for a given interval use the pause command During this time the router is still running To call a subroutine inside the same script file use the gosub command It must be the last command on a line You can nest subroutines up to 10 deep You use the return command in a subroutine to return to the calling routine When the return command executes the script interpreter begins executing the instructions on the line following the line containing the gosub command 117382 A Rev A Writing Technician Interface Scripts Writing Messages to the Console The Technician Interface provides two commands to display messages on the console e Use the echo command to display command line arguments to the user s terminal e Use the printf command to convert format and print input arguments on the Technician Interface s console For details on each of these commands see Chapter 2 Saving Console Messages to a File To save to a file all messages that are written to the console terminal use the record command The record file must be opened before recording and the file must be closed when recording is completed The file will be lost if it is not closed before the file system is unmounted or the router is reset For specific instr
9. 117382 A Rev A Command Reference Example 2 The following example is an excerpt from a script file showing how to use the instenv command instenv ip wfIpInterfaceEntry echo Size of array ip_ 0 let i l LOOP if i gt S ip 0 then goto DONE setenv ipstate wfIpInterfaceEntry wfIpInterfaceState ip_ i setenv ipaddr wfIpInterfaceEntry wfIpInterfaceAddr ip_ i echo i IP Address Sipaddr State S ipstate let i i 1 goto LOOP DONE 117382 A Rev A 2 17 Writing Technician Interface Scripts let The let command allows you to evaluate a simple arithmetical or logical expression and assign the result to a given variable Syntax The let command has the following syntax let lt flag gt lt flag gt formats the result as follows S in signed decimal default u in unsigned decimal h in hexadecimal date as MM DD YY days as DD days time as HH MM SS Modulo 24 hours tz as HH MM Modulo 12 00 The following flags may be used together Flag combinations other than those listed below are invalid date time as MM DD YY HH MM SS days time as DD days HH MM SS Example 1 The flags must immediately precede the variable name that represents the result as shown in the following example let h a 1 2 2 18 117382 A Rev A Command Reference Example 2 In the following script variable name b is assigned the sum of varia
10. Writing Technician Interface Scripts BayRS Version 12 00 Site Manager Software Version 6 00 Part No 117382 A Rev A September 1997 Bay Networks ES Bay Networks 4401 Great America Parkway 8 Federal Street Santa Clara CA 95054 Billerica MA 01821 Copyright 1997 Bay Networks Inc All rights reserved Printed in the USA September 1997 The information in this document is subject to change without notice The statements configurations technical data and recommendations in this document are believed to be accurate and reliable but are presented without express or implied warranty Users must take full responsibility for their applications of any products specified in this document The information in this document is proprietary to Bay Networks Inc The software described in this document is furnished under a license agreement and may only be used in accordance with the terms of that license A summary of the Software License is included in this document Trademarks ACE AFN AN BCN BLN BN BNX CN FN FRE GAME LN Optivity PPX Bay Networks SynOptics SynOptics Communications Wellfleet and the Wellfleet logo are registered trademarks and Advanced Remote Node ANH ARN ASN BaysSIS BayStack BayStream BCNX BLNX EZ Install EZ Internetwork EZ LAN IP AutoLearn PathMan PhonePlus Quick2Config RouterMan SN SPEX Switch Node Bay Networks Press the Bay Networks logo and the SynOptics logo are trademarks
11. goto FI END A 4 117382 A Rev A Sample Scripts HEE aE RH EEE HE EEE EEE EE REE AEA EE EE EER EAE ERE ERR Parse for show command HEE aE RE aE EE EE EE EE EEE EE AEE AE EE Ea EER EE ERE RR FI SHOW if S 1 then setenv cmd 2 let len strlen if Slen 3 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then let i strindex if i 1 then goto cmd FI_HELP_SHOW goto FI HELP SHOW base cmd goto w goto alerts cmd FI_BASE FI_ALERTS disabled cmd goto enabled cmd goto u goto w goto FI_DSBLED FI ENBLED stats cmd FI STATS receive cmd FI_RCV transmit cmd goto v goto Ww goto Ww goto Mw goto w goto system cmd mac FI_XMIT FI_SYSTEM smt cmd FI_SMT p cmd FI MAC port cmd FI PORT sample cmd FI SAMP 117382 A Rev A A 5 Writing Technician Interface Scripts
12. setcmd show fddi disabled Disabled Circuits setcmd show fddi enabled Enabled Circuits setcmd show fddi version FDDI bat version setcmd show fddi hwfilters Hardware Filters setcmd show fddi mac MAC Parameters setcmd show fddi port Port Parameters setcmd show fddi receive errors Receive Errors setcmd show fddi sat SMT Parameters setcmd show fddi stats Stats setcmd show fddi system errors System Errors setcmd show fddi transmit errors Transmit Errors unalias setcmd A 2 117382 A Rev A Sample Scripts FDDI BAT Script The following example shows a protocol script for a Bay Networks router You view output from the script by entering script commands for example show fddi at the Technician Interface command line or by using the menu utility See Using Technician Interface Scripts for instructions on entering script commands The following script allows you to display information from FDDI MIB objects and to enable or disable FDDI WSCCS k scripts fddi bat 1 11 10 31 95 PARE HE RE E AE EE EE EE EE REE HE EAE EER EH RE EERE EEE EE ERE EH Copyright Bay Networks Inc 1995 Display FDDI Driver Information PARE ERE HE RE EE RTH EH EE EH REE HR REE ER RR Es FEFE AE TE AEE AE TE AE AE AE AE AE FE E HE EEHEHE FERE AE AE AE AE AE AE TE FE AE AE FE FEAE AE TE FE AE AE FE FE FE AE FE FE E AE AE TE FE AE AE TE REE EERE FEFE AE TE HERE E AE AE AE FE EAE EHE
13. 10 10s 10 10s 10 10sWn w Receive Receive Transmit Transmit Total printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s 10 10s n Slot Conn Circuit Bytes Frames Bytes Frames Errors printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s S 1 0 SX 0 S Mn uw m uw m Mw n Ww m N M ow now now let i 0 117382 A Rev A A 13 Writing Technician Interface Scripts FI_STLOOP mibget n wfFddiEntry attr nextid value nextid if nextid END then let i i 1 goto FOOTER AND END let i i 1 let cctnum value Cct gosub GETCCTNAME if Smatchect then goto FI PRNTS if ic Smatchcct Scctname then goto FI STAT NXT let match entries match entries 1 Sum up total errors for display FI_PRNTS let tlerrs value CrcErrRx value OverrunRx S value SInvalidFrame value MacErrRx gosub MAC_EXTRACT let tlerrs tlerrs Smac_sum let tlerrs Stlerrs value RxOversized value AbortTx let tlerrs tlerrs value UnderrunTx S value ParityErrRx let tlerrs tlerrs value ParityErrTx value RingErrRx let tlerrs S tlerrs value RingErrTx TN val
14. 2 35 run command 1 14 2 36 S save env command 2 38 saving console messages 1 12 2 33 script files creating 1 1 to 1 13 debugging 1 13 2 44 examples of A 1 to A 39 loading variables from 2 40 running 1 14 2 36 saving variables to 1 13 2 38 transferring to router 1 1 setenv command 1 9 2 39 setting timeout values 1 5 setting variables 1 9 2 3 2 4 2 7 2 16 2 18 2 39 2 41 source eny command 1 13 2 40 sprintf command 1 10 2 41 117382 A Rev A suspending Technician Interface operation 2 29 X system variables 1 4 XMODEM 1 1 1 Technical Solutions Centers xiv TFTP 1 1 timeout values setting 1 5 transferring script files 1 1 true variable array 1 8 U unsetenv command 1 10 2 42 V variable array 1 8 variables assigning a sequence of values to 2 7 assigning a value to 2 39 assigning value of MIB attribute to 1 6 deleting 1 10 2 42 global 1 4 local 1 4 moving between tables 2 8 overview of 1 2 preventing expansion of 1 3 referencing 1 2 restoring 1 13 saving 1 13 setting 1 9 2 3 2 4 2 7 2 16 2 18 2 39 2 41 special input parameters 1 4 input prompt 1 5 system 1 4 viewing 1 8 2 9 verbose command 1 13 2 44 WwW writing messages to the console 1 12 2 6 117382 A Rev A Index 3
15. 4d 4d S value Slot S value SNode printf 8 8s Scctname if value Enable 2 then printf S 8s Disabled goto FI STATE ESC if S value State 4 then printf 8s Not Pres goto FI_STATE_ESC if S value SState 3 then printf 8s Init goto FI_STATE_ESC if S value S State 2 then printf 8s Down goto FI_STATE_ESC if wfFddiSmtEntry wfFddiSmtCfState nextid 1 then printf S 8s Down goto FI STATE ESC if S wfFddiMacExtEntry wfFddiMacMaUnitDataEnable nextid 2 then printf 8s LLC Off goto FI STATE ESC printf 8s Up 117382 A Rev A Writing Technician Interface Scripts FI_ STATE ESC printf 17 17s value Madr if value Bofl 2 then printf 4s Off goto FI BOFL ESC printf 4d value S BoflTmo FI BOFL ESC printf 4d S value SMtu let mode value SHwFilter if Smode 1 then printf 8s Enabled if mode 2 then printf 8s Disabled echo cutenv c9 15 name2 Scctname if name2 0 1 then printf 4s 4s 7 7s n name2 1 return HHPHERHEEAEEEEEEEEE EER EEEPEEEPEEEE EREHEEERHEEEREHEEERHEEHEREHE E EB E E Statistics screen AEREHHEEREREHEREREREHEREREHEHEREREREHEREHEEHEEREEHEEHEE
16. 9s NonOpDup printf 9s RingOpDup printf 9s Directed printf 9s Trace 117382 A Rev A A 25 Writing Technician Interface Scripts printf 10u n S wfFddiMacExtEntry wfFddiMacRingOpCts list_ i cutenv c9 15 name2 cctname if name2 0 1 then printf 4s 4s 7 7sNn S name2 1 5 Next line FI_MAC_NXT let i i 1 goto FI_MAC_IP FEE TE FE FE AE FE FE AE AE FE FE E AE AE FE FE AE FE FE AE AE AE FE FE E AE FE FE AE AE TE FE AE AE FE FE AE AE FE FE AE AE FE FE FE AE FE FE E AE FE FE AE AE AE FE FE ERE Port screen HHEPHEPHEEREEEEREEEEEEREEEPEEREEER EERE EEAPEEEPEEEE EEE EE HEE SHH FI_PORT let i l echo echo FDDI Modules Port Parameters cho Ww n echo oe printf 4 4s 4 4s 5 5s 9 9s 9 9s 10 10s 10 10s 10 10sXn w w w MY Link Error Elasticity Link printf 4 4s 4 4s 5 5s 9 9s 9 9s 10 10s 10 10s 10 10s n W Local Neighbor Physical Monitor Buffer Confidence printf 4 4s 4 4s 5 5s 9 9s 9 9s 10 10s 10 10s 10 10s n Slot Conn Port Port Type State Count Errors Count printf 4 4s 4 4s 5 5s 9 9s 9 9s 10 10s 10 10s 10 10s n S bs EN ow EIN ON oe oe EF v now now instenv list wfFddiPortEntry
17. FDDI connector 3 not found goto FI_END ae EN_MSG1_HELP gosub ERR_MSG1 goto FI_HELP_ENBL Tj Fg EN MSG2 HI gosub ERR MSG2 goto FI HELP ENBL EN MSG3 HELP gosub ERR MSG3 goto FI HELP ENBL 117382 A Rev A A 35 Writing Technician Interface Scripts Gosubs shared by enable and disable re MSG1 tenv c invalch ugly 3 ho Inappropriate character ugly 1 in parameter ho only digits and allowed ho turn SG2 ho Parameter must contain a character ho turn MSG3 ho Too many characters in parameter enter one only ho curn FEE TE FEE AE RH RAE HE EE EEE RE EE EEE ERE EAE ARE EERE Parse for disable command HEE AE RE HH EEE HEE HE ERE EE RA AEE EEE EE RE EEE RE EERE EFI TET DSBL if Sf 1 then goto FI HELP DSBL setenv cmd 2 let len strlen cmd if Slen lt 3 then goto FI HELP DSBL let i strindex circuit cmd if i 1 then goto FI_DSBLC let i strindex connector cmd if i 1 then goto FI DSBLI _ HELP DSBL echo FDDI Disable Command Help cho echo echo disable fddi option echo Where option is one of the following echo RR echo circuit lt circuit name gt echo connector lt slot connector gt goto FI_END
18. In the result 1 is the starting number and the values increment by 1 Therefore the variable named proto is 1 the variable named dest is 2 and so on enumenv 1 proto dest next hop mask metric as 117382 A Rev A 2 7 Writing Technician Interface Scripts export The export command allows you to move one or more local variables to the global environment variable table When you first define a variable it is stored in the local environment variable table Global variables can be accessed from other script files You cannot move global variables to the local environment variable table Syntax The export command has the following syntax export lt variable_name gt or export variable name lt variable_name gt Example For example setenv A string let Be 1 export A B 2 8 117382 A Rev A getenv Command Reference The getenv command allows you to view the current list of variables stored in the local and global environment variable tables If you access the Technician Interface via Telnet the Technician Interface also displays the variables in the system environment variable table Variables in this table are read only from the Technician Interface If your Telnet client supports the environment variable option you can use Telnet to send your UNIX environment variables to the Technician Interface s system list See your Telnet client documentation for instructions Syntax The getenv command
19. PROMOTING TOR pe ene 1 5 P ling the Console Or DUE cassis ce eura cd beds Goo aaa a aaa 1 5 Accessing MIB Infor Fett 4 sisssecevidde nee bv idit obe Vadit SPP Iu dae GER IIdE Kenia ee 1 6 Formen a IB EN oai n ERA ER C rtp erret reer entre rere eeerert tre ren Tree rr rer 1 7 Defining Peeudo vallable BITS fester noennis ete 1 8 Mir cuicE eB geri EN 1 8 MEI PEE NS coce cen aso peo d tons RE opo onore poc pho uer or enc oc 1 8 Setting Variables E E Geechee m E aeea 1 9 Deleting WARDS e 1 10 Setting the Current Volume or Directory sssesessssssseseeeeneeennnnne ente 1 11 ROVER UAE Froga PINE sasaaina Proto bab dear or Rep PORTU N SES Writing Massages to the Consola sonrasi trant renes bea ncc d ee o docs 1 12 Saving Console Messages toa File 12 aasaii cs iuec tede tnis p ka e cuin dcl cd 1 12 Pertaining Enot HG CQVEIY e LER 1 12 117382 A Rev A V Waar ie CANES saspe end peo e pd Sad oct eee eA 1 13 Debudamg a Senor FIE MN T TO 1 13 Saving and Restoring Variables 2 uite creas eddie cetero pdt Mie e Hla tice 1 13 Running a SESTO FE norais aa reer e rg P ebbe PH p D p aub p Ter mre rrr Tre 1 14 Creating Menus TE Ric ossb n Dat A E E ind ades re 1 14 Chapter 2 Command Reference PART UN E E ub EE E DR ad T Pest cdd deaur Krsdam RE as Und ces d Fac hn rb T 2 3 hip A M 2 4 BENG NORTE TI I
20. Sample Scripts if i gt Slist_O then goto FI SAMP PRT if matchcct W then goto FI SAMP2 NOW let cctnum wfFddiEntry wfFDDICct list_ i gosub GETCCTNAME if ic matchcct rm Scctname then goto FI SAMP2 SKP FI SAMP2 NOW let match entries match entries 1 let m match entries setenv s2instid m list i setenv s2rxfrms m wfFddiEntry wfFDDIFramesRxOk list i setenv s2txfrms m wfFddiEntry wfFDDIFramesTxOk list i setenv s2rxlors m wfFddiEntry wfFDDIRingOverrunRx list_ i setenv s2txlors m wfFddiEntry wfFDDITxClipFrames list_ i FI SAMP2 SKP let i i 1 goto FI_SAMP2_LP Compare the two samples and generate the output FI SAMP PRT let table size i printf Vr NET if match entries 0 then goto FOOTER AND END let s2instid 0 match entries let i 1 let j 1 let jlow 1 let matches 0 117382 A Rev A A 31 Writing Technician Interface Scripts FI SAMP MATCH on error FI NEXT TRY if slinstid_ i s2instid j then goto FI NEXT TRY if j jlow then if jlow lt s2instid 0 then let jlow jlow 1 let delta rxfrms S s2rxfrms j slrxfrms_ i if Sdelta_rxfrms lt 0 then goto FI NEXT TRY let delta txfrms s2txfrms_ j sltxf
21. 4 92 96 69 66 33 4 92 96 69 96 Asia Pacific 61 2 9927 8888 61 2 9927 8899 Latin America 561 988 7661 561 988 7550 Information about customer service is also available on the World Wide Web at support baynetworks com How to Get Help If you purchased a service contract for your Bay Networks product from a distributor or authorized reseller contact the technical support staff for that distributor or reseller for assistance If you purchased a Bay Networks service program call one of the following Bay Networks Technical Solutions Centers Technical Solutions Center Telephone number Fax number Billerica MA 800 2LANWAN 508 916 3514 Santa Clara CA 800 2LANWAN 408 495 1188 Valbonne France 33 4 92 96 69 68 33 4 92 96 69 98 Sydney Australia 61 2 9927 8800 61 2 9927 881 1 Tokyo Japan 81 3 5402 0180 81 3 5402 0173 Xiv 117382 A Rev A Chapter 1 Creating a Script File The Technician Interface script facility allows you to read and execute Technician Interface commands from a script file You create and edit script files on a remote workstation and transfer the files to the router via TFTP or XMODEM For instructions on using TFTP or XMODEM see Using Technician Interface Software We provide several script programs that let you manage the router using information stored in the management information base MIB Yo
22. 6s n Slot Conn Circuit p J D OE Y 3 DUE b OP State State secs printf 4 4s 4 4s 8 8s 31 31s 8 8s 8 8s 6 6s n Ww How Hw How n X instenv list wfFddiSmtEntry FI SMT IP on error FI SMT NXT if i gt Slist 0 then goto FOOTER AND END let cctnum wfFddiEntry wfFDDICct list_ i gosub GETCCTNAME if matchcct then goto FI PRNTSMT if ic matchcct Scctname then goto FI SMT NXT let match entries match entries 1 FI PRNTSMT 117382 A Rev A A 21 Writing Technician Interface Scripts printf 4d 4d wfFddiEntry wfFDDISlot list_ i wiFddiEntry wfFDDINode list_ i printf 8 8s Scctname Print the connection policy matrix let bit 12 setenv flags setenv bitOxO0 setenv bitOxl R setenv bitO0x2 R setenv bitO0x3 RR setenv bitOx4 R setenv bitO0x5 R R setenv bitOx6 RR setenv bitOx7 RRR setenv bit0x8 R d setenv bit0x9 R eRe setenv bitOxA R R setenv bitOxB R RR setenv bitOxC RR A setenv bitOxD RR R setenv bitOxE RRR setenv bitOxF R RRR let policy wfFddiEntry wfFDDISmtConnectionPolicy list_ i FI_BIT_LP let h result policy amp OxF lt lt Sbit gt gt bit setenv flags S flags bit result FI_NEXT_BIT let bit
23. I T T 2 6 GHLTIEERET aarin MR RUE Pe DUREE RP EU DERI QUEE UE BPO R ORE ERUP aacps RUDI DER VE EDUE RARO TRUE RUMORES 2 7 o js eme 2 8 GIA MN INR T TU TMTM 2 9 onc mem T 2 10 sj p M 2 11 EE NETT NR T T 2 12 HRA E E E TENERE RREEEN 2 16 8E ainan Gu ba bia pact bet ades uq as c xtA uma E ac XR bt esa fnncra E arte 2 18 Djs me Tp 2 23 MIC MEER RR E bic S D E E A E P IE 2 26 Dii ENT DL DIENST 2 28 wr me T MP T met 2 29 ln fw T Y E TE 2 30 ico cd acta tacts NRI E Te OE 2 33 5j 2 35 PHI Seded EILEEN Mr bn n terre rH beue v qu Ho UE e RU Ue or CUARTO eC E Kn eey 2 36 SOUS BI sarae i EEE EEEE EE TT EE E E ped edu bniR d 2 38 BONGO ec 9 2 39 DOUE EI c NET T TU TNT TUE 2 40 CDU EESTI 2 41 dps CEST caes ERR POOR REROCHQUMECREEH dep ERU ED a CH n RU ob C CUL ROC UU UN tree 2 42 SIM aa ud bote td tad Ecco stus sputo dud 2 44 vi 117382 A Rev A Appendix A Sample Scripts Menu SOrD meet A 1 REN SI SOE e CC A 2 FDDI BAT Script TUNE CRM Basso ere ES E ums lett dps eke sicui een A 3 Index 117382 A Rev A vii Tables Table 2 1 Script Commands mU 2 1 Table 2 2 A
24. Note If two variables one in the system table and one in the local or global table have the same name the one in the local or global table is used Setting Variables The Technician Interface provides several ways to set variables depending on what you want to accomplish in your script This section lists the ways you can set variables For details on each of the following commands see Chapter 2 e To assign an ASCII string or numeric value to a variable in the local environment variable table use the setenv command When you assign a value to a variable you do not type the before the variable If the value contains spaces or tabs place double quotes around the value string In the following command you assign the value Statistics Menu to the variable a setenv a Statistics Menu e To define a pseudo variable array that contains the list of MIB instance IDs for a given MIB object name use the instenv command The instenv command builds a pseudo variable array by appending an index number to the variable name specified on the command line Each member of the pseudo variable array contains a single instance ID The size of the pseudo array is stored at index 0 Note We recommend that you use the mibget command instead of the instenv command The mibget command accesses MIB tables approximately 50 percent faster than the instenv command e To select parts of a text string and write them to a pseudo variab
25. Sbit 4 if Sbit gt 0 then goto FI_BIT_LP Note field size is 32 because flags contains the printf 32s Sflags let state wfFddiSmtEntry wfFddiSmtEcmState if Sstate 1 then printf 8s ByPassed if state 2 then printf 8s In if Sstate 3 then printf 8s Trace if Sstate 4 then printf 8s Leave if state 5 then printf 8s Pathtest if Sstate 6 then printf 8s Insert if Sstate 7 then printf 8s By Check if Sstate 8 then printf 8s Deinsert trailing space S 1ist i A 22 117382 A Rev A let st if if if if if if if if Lf if if if if printf 6d s s s s s s s s s s s s s echo cutenv ce ce ce ce ce ce ce Le cS ce ce ce Next line c9 15 name2 De Lo z hen prin hen prin hen prin hen prin hen prin hen prin hen prin COO 10Y 01 CO Ne DH hen prin ie hen prin 10 11 12 13 hen prin hen prin hen prin ct cP ch Gh eR cbocboctoctect cr chet hen prin fFddiSmtEntry Ef tf Ef tf tf tf tf GE tf tf tf Lf tf o oe oe oe o o o o o AP oe oe oe o 4 2 n 4 2 o 4 2 n 4 2 o 4 2 n 4 2 o 4 2 o 4 2 4 2 4 2 CO OO CO CO OO CO OO CO OO AnD WN 4 2 Sample S
26. Set up for either using the builtin octetfmt function 7 80 or newer or the gosub 7 70 FERE AE AE AE AE AE AE TE FE E AE FE FEAE AE TE FE AE AE FE FE FE AE FE FE E AE AE FE FE AE AE TE REE ER FEH FEFE AE TE FEAE AE TE AE EH AE FE FE E HE EERE General variable initialization setenv match_entries 0 setenv matchcct NE 117382 A Rev A Writing Technician Interface Scripts HER EE EEE HEHEHE EH HEE EE HEHEHE EEE EH HEE EH EHH EH EEEH Sub command vectoring HERE E HE ETH HEHEHE EH EEE EE EE HEHE EEE EE HEE EH E E E E EEE EE EH HERE if S 0 then goto FI_HELP setenv cmd 1 let cmdlen strlen cmd if Scmdlen lt 3 then goto FI HELP un let i strindex show cmd if i 1 then goto FI SHOW let i strindex enable cmd if i 1 then goto FI ENBL let i strindex disable cmd if i 1 then goto FI DSBL else fall through to the Help screen ARE HE RE AE AE RE HE EEE FE E AE REE HE RE EE RE HE REE ERE FE FE EEE EE FE FE FE EFE H Help screen PARE HR RTE E AE EE HE RE E AE REE HE REE EH ERE ERE EE EEE EEE EE RAE EHH FI HELP echo FDDI Command Script M cho echo echo This script is not intended to be run directly echo Please run setpath and then use the following echo commands echo echo disable fddi echo enable fddi echo show fadi echo
27. change the timeout back to an indefinite waiting period use the following command unsetenv SYS IO TIMEOUT For more information about using the commands in the preceding examples see Chapter 2 Accessing MIB Information The Technician Interface script facility allows you to assign the value of a MIB attribute to a variable Using the syntax object attribute instance you can refer to the following types of MIB variables e Counter variables which keep track of how many times an event occurs e Display string variables which specify a piece of information stored in ASCII characters and which the system can display for the user to read The string must be shorter than 255 characters e Gauge variables which keep track of values that fluctuate e nteger variables which specify information in the form of a simple integer 1 6 117382 A Rev A Creating a Script File The variable values lt object gt lt attribute gt and lt instance gt are defined as follows lt object gt is the name or identifier of the object for example wfSnmp lt attribute gt is the name or identifier of the attribute for example wfSnmpDisable lt instance gt is the identifier of a nontabular object or the index value of a tabular object for example 1 For more information about lt object attribute instance gt see Using Technician Interface Software Using the syntax lt object attribute instance index gt you c
28. copy in whole or in part Except as expressly provided in this Agreement Licensee may not copy or transfer the Software or user manuals in whole or in part The Software and user manuals embody Bay Networks and its licensors confidential and proprietary intellectual property Licensee shall not sublicense assign or otherwise disclose to any third party the Software or any information about the operation design performance or implementation of the Software and user manuals that is confidential to Bay Networks and its licensors however Licensee may grant permission to its consultants subcontractors and agents to use the Software at Licensee s facility provided they have agreed to use the Software only in accordance with the terms of this license 3 Limited warranty Bay Networks warrants each item of Software as delivered by Bay Networks and properly installed and operated on Bay Networks hardware or other equipment it is originally licensed for to function substantially as described in its accompanying user manual during its warranty period which begins on the date Software is first shipped to Licensee If any item of Software fails to so function during its warranty period as the sole remedy Bay Networks will at its discretion provide a suitable fix patch or workaround for the problem that may be included in a future Software release Bay Networks further warrants to Licensee that the media on which the Software is provided will be
29. free from defects in materials and workmanship under normal use for a period of 90 days from the date Software is first shipped to Licensee Bay Networks will replace defective media at no charge if it is returned to Bay Networks during the warranty period along with proof of the date of shipment This warranty does not apply if the media has been damaged as a result of accident misuse or abuse The Licensee assumes all responsibility for selection of the Software to achieve Licensee s intended results and for the installation use and results obtained from the Software Bay Networks does not warrant a that the functions contained in the software will meet the Licensee s requirements b that the Software will operate in the hardware or software combinations that the Licensee may select c that the operation of the Software will be uninterrupted or error free or d that all defects in the operation of the Software will be corrected Bay Networks is not obligated to remedy any Software defect that cannot be reproduced with the latest Software release These warranties do not apply to the Software if it has been i altered except by Bay Networks or in accordance with its instructions ii used in conjunction with another vendor s product resulting in the defect or iii damaged by improper environment abuse misuse accident or negligence THE FOREGOING WARRANTIES AND LIMITATIONS ARE EXCLUSIVE REMEDIES AND ARE IN LIEU OF ALL OTHER WARRANTIES EXP
30. has the following syntax getenv lt variable_name gt lt variable_name gt is the name of the variable whose value you want to display To display the current list of variables in all tables enter the getenv command with no arguments Note If two variables one in the system table and one in the local table have the same name the one in the local table is displayed 117382 A Rev A 2 9 Writing Technician Interface Scripts gosub The gosub command calls a subroutine inside the same script file It must be the last command on a line A subroutine begins and ends with a colon You can nest subroutines up to 10 deep You use the return command in a subroutine to return to the calling routine When the return command executes the script interpreter begins executing the instructions on the line following the line containing the gosub command Syntax The gosub command has the following syntax gosub subroutine name subroutine name is the name of the subroutine Example The following example shows a script using the gosub and return commands main let arg 1 gosub SUBROUTINE echo Return value return goto EXIT SUBROUTINE let return Sarg Sarg Sarg 1 return EXIT 2 10 117382 A Rev A Command Reference goto The goto command lets you specify the next line to be executed from the script file Within the script file the goto command is used with a label A label begin
31. object table from which to retrieve the information for example wfTPForwardEntry attribute variable array is an environmental array variable that contains the list of attributes to be retrieved To create this array variable you use the arrayenv command Do not type before this variable name since the input is passed by reference not by value If the attribute is an OCTET string you can use an optional format specifier format for each array entry For information on this format specifier see the octetfmt command If the attribute is not an OCTET string the mibget command ignores the format specifier instance id 1s the first instance to reference in the MIB table You can use the wildcard If you use the n option this option identifies the instance ID most recently retrieved 117382 A Rev A 2 23 Writing Technician Interface Scripts lt value_variable_array gt is the name of an environmental array variable that stores the values retrieved The values are in the same order as listed in the attribute array lt attribute_variable_array gt Do not type before this variable name since the input is passed by reference not by value lt next_instance_variable gt is the name of the variable that stores the instance ID of the record currently read If the routine reaches the end of the table it sets this variable to the string END In this case the mibget command has not read any record information D
32. of Bay Networks Inc All other trademarks and registered trademarks are the property of their respective owners Restricted Rights Legend Use duplication or disclosure by the United States Government is subject to restrictions as set forth in subparagraph c 1 ii of the Rights in Technical Data and Computer Software clause at DFARS 252 227 7013 Notwithstanding any other license agreement that may pertain to or accompany the delivery of this computer software the rights of the United States Government regarding its use reproduction and disclosure are as set forth in the Commercial Computer Software Restricted Rights clause at FAR 52 227 19 Statement of Conditions In the interest of improving internal design operational function and or reliability Bay Networks Inc reserves the right to make changes to the products described in this document without notice Bay Networks Inc does not assume any liability that may occur due to the use or application of the product s or circuit layout s described herein Portions of the code in this software product are Copyright 1988 Regents of the University of California All rights reserved Redistribution and use in source and binary forms of such portions are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation advertising materials and other materials related to such distribution and use acknowledge that
33. system from returning an error message if the run command cannot locate the specified script file vol is the volume number of the script you want to execute filename is the name of the script file you want to execute lt p1 gt p2 p3 lt p4 gt lt p5 gt p6 p7 p8 p9 are optional input parameters to the script file They may be referred to within the script file as follows lt p1 gt gt 1 lt p2 gt gt 2 lt p3 gt gt 3 lt p4 gt gt 4 lt p5 gt gt 5 lt p6 gt gt 6 lt p7 gt gt 7 lt p8 gt gt 8 lt p9 gt gt 9 To locate script errors use the verbose on command and then use the run command The Technician Interface displays each line from the file before it executes the line enabling you to locate errors easily 2 36 117382 A Rev A Command Reference the script file name you specify If you issue the command run install the system first looks for a file named install If it cannot find this file it looks for a file named install bat Note The run command automatically appends the bat suffix to the end of gt The special variable contains the number of parameters entered on the command line following the script file name It is set to zero if no parameters are entered 117382 A Rev A 2 37 Writing Technician Interface Scripts save env The save env command allows you to save the current list of local and global v
34. text string and writes it to a pseudo variable array echo Displays command line arguments to a user s terminal enumenv Assigns a sequence of values to a list of variables export Moves one or more local variables to the global environment variable table getenv Displays the current list of variables stored in the local and global environment variable tables gosub Calls a subroutine inside the same script file goto Specifies the next line to be executed from the script file if Evaluates whether an expression is true instenv Defines a pseudo variable array that contains the list of MIB instance IDs for a given MIB object name let Evaluates a simple arithmetical or logical expression and assigns the result to a given variable mibget Searches a MIB object table one record at a time and retrieves a set of attributes from each record octetfmt Formats a MIB entry with an Octet or Opaque data type continued 117382 A Rev A 24 Writing Technician Interface Scripts Table 2 1 Script Commands continued Command Function on error Specifies an error handler label within a script file pause Suspends the Technician Interface s operation for a given interval printf Converts formats and prints the input arguments on the Technician Interface s console record Saves to a file all messages written to the console terminal return Returns control to the calling routine run Reads and executes the Technician Interface commands
35. wer let index strpbrk string 2 if Sindex 0 then echo Missing Delimiter let index strmatch string pat if Sindex 0 then echo No match found 2 22 117382 A Rev A mibget Command Reference The mibget command lets you search a MIB object table one record at a time and retrieve a set of attributes from each record For example you can use this command in a script to retrieve information from a routing table and print the information immediately on the console When you are searching a larger MIB table this method is faster and more efficient than using the instenv command Syntax The mibget command has the following syntax mibget n p pattern object attribute variable array instance id value variable array next instance variable n retrieves the information from the next record in the MIB table You can use it in a loop to read the next instance following the identity of the instance instance id just read For example the current ID is 192 32 0 1 and the next ID is 192 32 0 2 If you enter the n option with the current ID the mibget command returns information for the instance ID 192 32 0 2 p pattern specifies an instance ID pattern string The script returns only instance IDs that match the pattern For example p 192 32 returns all instances whose address starts with 192 32 such as 192 32 0 0 192 32 1 1 and so on object is the name of the MIB
36. BLNXT Found it set wfFddiEntry wfFDDIEnable list_ i 1 echo FDDI circuit cctname enabled commit goto FI END FI ENBLNXT let i i 1 goto FI_ENBLLP FI_ENBLNF echo FDDI circuit 3 not found goto FI_END 3k Enable connector A 34 117382 A Rev A ET Sample Scripts _ENBLI if Sf 3 then goto FI HELP ENBL Sanity check lt slot connector gt parameter if Sver lt x7 80 then goto SKIP_STRPBRK1 setenv teststr ABCDEFGHIJKLMNOPQRSTUVWXYZ let invalch strpbrk 3 Steststr if Sinvalch 0 then goto FIEN MSGl1 HELP w setenv teststr abcdefghijklmnopqrstuvwxyz let invalch strpbrk 3 Steststr if Sinvalch 0 then goto FIEN_MSG1_HELP setenv teststr Q4 amp tN 7 72 lt gt let invalch strpbrk 3 Steststr if Sinvalch 0 then goto FIEN MSG1 HELP SKIP_STRPBRK1 let firstdot strindex 3 if Sfirstdot 0 then goto FIEN MSG2 HELP let lastdot strrindex 3 if Sfirstdot Slastdot then goto FIEN MSG3 HELP I if wfFddiEntry wfFDDIEnable 3 0 then goto FI ENBLIE set wfFddiEntry wfFDDIEnable 3 1 echo FDDI connector 3 enabled commit goto FI END SEI SEI ZELI SELI ENBLIE echo
37. Cct State Enable Slot i enum i Node Madr Bofl i enum i BoflTmo Mtu HwFilter echo echo FDDI Modules Disabled cho Ww n gosub FI BASEHDR let i 0 FI_DLOOP mibget n wfFddiEntry attr nextid value nextid if Snextid END then let i i 1 goto FOOTER AND END let cctnum value Cct gosub GETCCTNAI T if value Enable 2 then let match entries match entries 1 gosub FI ONELINE let i i 1 goto FI_DLOOP 117382 A Rev A A 9 Writing Technician Interface Scripts HEE aR RE EEE EH EE EE AEE EE REE AE EE EEE EE REE ERE ERR Show THERE THE FI ENBLED setenv matchcct setenv setenv setenv nextflag pattern nextid wf wf wf attr attr attr array array array a a enum Cot St enum enum i i echo echo FDDI Modul v Enabled screen PH ERE EE ERE EE EEE FE E AE EE EEE RE EE REET HE AE AE FE FE AE AE FE FE AE EE FE AE EHE H u XXX wr wr worm Enable wfFDDISlot DRESS wfFDDIBofl DIHardwareFilter FDDICct wfFDDIState wfFDDII FDDINode wfFDDIMadr MAC AD FDDIBoflTmo wfFDDIMtu wfFD ate Enable Slot i Node Madr Bofl i BoflTmo Mtu HwFilter Enabled es cho gosub FI BASI EHD let i 0 FI ELOOP mibget n wfFddi if Snextid S let cctnum R Entry attr nextid value nextid det g
38. ED OVENS oaio ania 2 19 Table 2 3 Logical IANS e aoaeiaa E EE E EEE 2 19 Table 2 4 Spacia Chara NIS censninssnae ihe toe ad cde d boo 2 31 117382 A Rev A About This Guide If you are interested in creating and editing Technician Interface scripts refer to this guide for e An overview of variables Instructions on creating using and saving variables using the Technician Interface script commands e The function and syntax of each Technician Interface script command Audience This manual is for network administrators with the following background Knowledge of the UNIX operating system and the C programming language e A general understanding of local area and wide area networking fundamentals e An understanding of the transmission and management protocols used on your network Before You Begin Before using this guide you must load the router software from the release medium This guide assumes that you are familiar with the Technician Interface For information on this interface refer to Using Technician Interface Software 117382 A Rev A xi Writing Technician Interface Scripts Conventions angle brackets lt gt bold text brackets ellipsis points italic text quotation marks screen text separator gt vertical line I Indicate that you choose the text to enter based on the description inside the brackets Do not type the brackets when entering the command E
39. Err InternOpErr HostErr echo echo FDDI Module System Errors cho id echo printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s Sz LOeLOSATIM WA nur Am AME ME ow Port Internal printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s l0 l0sXn wr w w W parity Ring Operation Operation Host printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s 10 10s n Slot Conn Circuit Errors Errors Errors Errors Errors 117382 A Rev A Writing Technician Interface Scripts printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s 10 10s n Ww m Ww m bi m Ww m N let i 0 FI SyLOOP mibget n wfFddiEntry attr Snextid value nextid if Snextid END then let i i 1 goto FOOTER AND END let cctnum value Cct gosub GETCCTNAME if matchcct W then goto FI PRNTSE if ic matchcct Scctname then goto FI SYS NXT let match entries match entries 1 FI PRNTSE let parity value ParityErrRx let parity Sparity value ParityErrTx let ring S value SRingErrRx let ring Sring value S RingErrTx let ring Sring value SmtRingErrRx printf 4d 4d 8 8s value Slot value Node cctname printf 10u 10u 10u 10u 10u Sparity Sring S value SPortOpErr value InternOpErr
40. HEREHEEHEREHEREEREHEEERHEEEEHEEEHEEEEHE E EB E E tFLJSTATS check for circuit name to match on if 2 then goto FI STAT NM setenv cmd 3 let len strlen cmd if Slen lt 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 4 then goto FI HELP SHOW setenv matchcct 4 A 12 117382 A Rev A Sample Scripts FI STAT NM setenv nextflag setenv pattern setenv nextid Net wr array attr wfFDDICct wfFDDICrcErrRx wfFDDIOverrunRx array a attr wfFDDIInvalidFrameStatusRx wfFDDIMacErrRx array a attr wfFDDIRxOversizedFrames wfFDDIAbortTx wfFDDIUnderrunTx array a attr wfFDDIParityErrRx wfFDDIParityErrTx wfFDDIRingErrRx array a attr wfFDDIRingErrTx wfFDDISmtRingErrRx wfFDDIPortOpErr array a attr wfFDDIInternOpErr wfFDDIHostErr array a attr wfFDDISlot wfFDDINode wfFDDIOctetsRxOk wfFDDIFramesRxOk array a attr wfFDDIOctetsTxOk wfFDDIFramesTxOk enum 1 Cct CrcErrRx OverrunRx i enum i InvalidFrame MacErrRx i enum i RxOversized AbortTx UnderrunTx i enum i ParityErrRx ParityErrTx RingErrRx i enum i RingErrTx SmtRingErrRx PortOpErr i enum i InternOpErr HostErr i enum i Slot Node OctetsRxOk FramesRxOk i enum Si OctetsTxOk FramesTxOk echo echo FDDI Module I O Statistics cho Mw m echo printf 4 4s 4 4s 8 8s 10 10s 10 10s
41. N M now now now instenv list wfFddiMacEntry 117382 A Rev A FI MAC LP on error FI MAC NXT if i gt Slist 0 then let cctnum wfFddil gosub GETCCTNAME if matchcct W t rm if ic matchcct Sample Scripts goto FOOTER AND END Entry wfFDDICct list i hen goto FI PRNTMAC cctname then goto FI MAC NXT let match entries match entries 1 FI PRNTMAC printf 4d 4d wfFddiMacEntry wfFddiMacSlot list_ i wfFddiMacEntry wfFddiMacNode list_ i printf 8 8s Scctname Print Upstream Neighbor s MAC address octetfmt mac MAC_ADDRI wfFddiMacEntry wfFddiMacU ESS pstreamNbr list_ i printf 17s Smac Print Downstream Neighbor s MAC address octetfmt mac MAC_ADDRI ESS wfFddiMacEntry wfFddiMacDownstreamNbr list_ i printf 17s Smac Print remainder of line let tneg wfFddiMacEntry wfFddiMacTNeg list_ i 1000000 printf 4d Stneg let state if Sstate 1 then if Sstate 2 then if Sstate 4 then if Sstate 8 then if Sstate 16 then if Sstate 32 then if S state 64 then if Sstate 128 then wfFddiMacEntry wfFddiMacRmtState list i printf 9s Isolated printf 9s NonOp printf 9s RingOp printf 9s Detect printf
42. RESS OR IMPLIED INCLUDING WITHOUT LIMITATION ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE Licensee is responsible for the security of 117382 A Rev A iii its own data and information and for maintaining adequate procedures apart from the Software to reconstruct lost or altered files data or programs 4 Limitation of liability IN NO EVENT WILL BAY NETWORKS OR ITS LICENSORS BE LIABLE FOR ANY COST OF SUBSTITUTE PROCUREMENT SPECIAL INDIRECT INCIDENTAL OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES RESULTING FROM INACCURATE OR LOST DATA OR LOSS OF USE OR PROFITS ARISING OUT OF OR IN CONNECTION WITH THE PERFORMANCE OF THE SOFTWARE EVEN IF BAY NETWORKS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES IN NO EVENT SHALL THE LIABILITY OF BAY NETWORKS RELATING TO THE SOFTWARE OR THIS AGREEMENT EXCEED THE PRICE PAID TO BAY NETWORKS FOR THE SOFTWARE LICENSE 5 Government Licensees This provision applies to all Software and documentation acquired directly or indirectly by or on behalf of the United States Government The Software and documentation are commercial products licensed on the open market at market prices and were developed entirely at private expense and without the use of any U S Government funds The license to the U S Government is granted only with restricted rights and use duplication or disclosure by the U S Government is subject to the restrictions set forth in subparagraph c 1 of the Commercial Comp
43. Scripts echo The echo command allows you to display its command line arguments to the user s terminal Syntax The echo command has the following syntax echo text string Or echo variable name text string is any literal text variable name 1s the name of a variable Example For example when you execute the script echo Good Morning the system displays Good Morning on the user s console When you execute the script setenv b blue echo b the system displays blue on the user s console 2 6 117382 A Rev A enumenv Command Reference The enumenv command lets you assign a sequence of values to a list of variables You assign a starting number lt starting_ gt and can optionally specify a value by which to increment the enumeration lt increment gt Most commonly you use this command with the arrayenv command to create named indices to use with a value array That way you can refer to the elements of the array with meaningful names rather than index numbers For an example see the mibget command Syntax The enumenv command has the following syntax enumenv lt starting_ gt lt increment gt variable name variable name starting Y is the starting number of the enumeration increment is the value by which to increment the enumeration variable name is the pseudo variable array Example The following example creates indices for attributes in a value array
44. _ index Notice the use of the brackets within the variable name Any literal text or variable name specified within the brackets is first expanded to replace any variables with their values and then concatenated onto the preceding characters of the variable name To use brackets you must enclose the entire variable name being built within braces 117382 A Rev A 1 3 Writing Technician Interface Scripts Local Global and System Variables When you first define a variable the computer stores it in the local environment variable table Local variables are only accessible from within the script in which they were created You cannot access them from another script file When a script routine ends any local variables that you defined are automatically deleted Global variables are stored in the global environment variable table and may be accessed by any script file You create global variables by using the export command to change a local variable to a global variable For more information about the export command see Chapter 2 Global variables are not automatically deleted when a script file ends System variables which are read only are created only during a Telnet session You cannot have the same variable name in the local and the global variable tables You can delete local and global variables by using the unsetenv command You can also change the value of a global variable by using any of the set variable command
45. ample Scripts wfFDDICct wfFDDIState wfFDDIEnable wfFDDISlot wfFDDI ode wfFDDIMadr MAC ADDRESS wfFDDIBofl wfFDDIBoflTmo wfFDDIMtu wfFDDIHardwareFilter State Enable Slot i enum i Node Madr Bofl i enum i BoflTmo Mtu HwFilter HDR echo echo FDDI Modules cho gosub FI BASE let i 0 FI_LOOP mibget n wfFddil if Snextid END then let i i 4 let cctnum S value Cct gosub GETCCTNAME T if Smatchect if ic Smatchect let match_entr FI_PRNTB rm ies INE gosub FI ONEL Do next circuit FI BASE NXT let i i 1 goto FI_LOOP Smatch_entries 1 Entry attr nextid value nextid 1 goto FOOTER_AND_END then goto FI_PRNTB Scctname then goto FI BASE NXT 117382 A Rev A Writing Technician Interface Scripts HEE HE AE RE EE EEE EEE EEE EE EAE EE RE EAE EEE EE EERE EAE ERE ERE Show Alerts screen HHEHHERHEEAEEEEEEEEE EER EEEPEEREEEEEEEPEEESEEEPEEEPEEEE EERE EE E E FI ALERTS setenv matchcct xxx setenv nextflag setenv pattern setenv nextid Noon array array array enum enum enum echo ad a 1 i i attr wfFDDICct wfFDDIState wfFDDIEnable wfFDDISlot attr wfFDDINode wfFDDIMadr MAC ADDRESS wfFDDIBofl attr wfFDDIBoflTmo wfFDDIMtu wfFDDIHardwareFilter Cct State Enable Slot i Node Madr Bof
46. an refer to the following types of data e Opaque string data e Octet string data Opaque and octet string data are hexadecimal numbers that start with Ox The variable value index is the byte offset into the opaque or octet string data An offset of 0 returns the length of the data in bytes Each byte is accessed one byte at a time using the index number For example to access the value of a byte in an octet string use the following procedure 1 Enter object attribute instance 0 for example wfHwBase wfHwBpRev 0 0 to get the length of the data in bytes The system returns the number of bytes in the octet string for example 4 2 Enter object attribute instance n for example wfHwBase wfHwBpRev 0 3 to get the value of the selected byte for example the third byte Formatting a MIB Entry The octetfmt command formats a MIB entry with an Octet or Opaque data type using the specified format type For more information about using the octetfmt command see Chapter 2 117382 A Rev A 1 7 Writing Technician Interface Scripts Defining a Pseudo Variable Array The Technician Interface script facility allows you to define a pseudo variable array A true array is a set of consecutive memory locations used to store data Each item in the array is called an element An element is a variable To reference an element of an array you use a number called the index In a pseudo variable array the elements va
47. ariables to a script file Syntax The save env command has the following syntax saveenv filename filename is the name of the file in which you want to store the variables Example For example the following script saves the current list of variables to the install bat file save env install bat 2 38 117382 A Rev A setenv Command Reference The setenv command allows you to assign an ASCII string value or a numeric value to a variable in the local environment variable table When you assign a value to a variable you do not type the before the variable If the value contains spaces or tabs place double quotes around the value string Syntax The setenv command has the following syntax setenv lt variable_name gt lt variable_value gt lt variable_name gt is the name of the variable lt variable_value gt is the value assigned to the variable Example For example the following script assigns the value Good Morning to the variable a setenv a Good Morning 117382 A Rev A 2 39 Writing Technician Interface Scripts source env The source env command allows you to read and execute the Technician Interface commands in a Technician Interface script file The source env command saves restores all local variables when a script ends Syntax The source env command has the following syntax source env lt vol gt lt filename gt vol is the volume storing the script
48. ble name a plus 1 setenv a 1 let b Satl The let command evaluates an expression from left to right You can use parentheses to change the order of the evaluation Use the arithmetical and logical operators listed in Table 2 2 and Table 2 3 with the let command Table 2 2 Arithmetical Operators Operation Symbol Addition Subtraction Multiplication gt Division Exponent a Remainder Table 2 3 Logical Operators Operation Symbol Definition 1 s complement Bit negation operator that provides the bitwise complement of an integer AND amp Arithmetic AND Inclusive OR Arithmetic inclusive OR Exclusive OR A Arithmetic exclusive OR Logical shift left lt lt Bit shift to the left far right bit set to zero Logical shift right gt gt Bit shift to the right far left bit set to zero 117382 A Rev A 2 19 Writing Technician Interface Scripts The let command provides the following string functions strlen e strindex strrindex Sstrpbrk e strmatch e single character The arguments for each function can be a literal character string a set of characters enclosed in double quotes or the name of an environment variable When you specify an environment variable do not precede the name with If a function returns an offset within a string an index of 1 refers to the first character position The function st
49. bles that are part of a pseudo variable array by using the wildcard character For example to delete all variables that begin with array_ enter the following command unsetenv array For specific instructions on using the unsetenv command see Chapter 2 117382 A Rev A Creating a Script File Setting the Current Volume or Directory When you set the current working volume or directory using the cd change directory command you are setting the global variable PWD to the value you specify in the command as shown in the following script casas echo SPWD 3 getenv PWD PWD 3 Controlling Program Flow The Technician Interface provides several commands to control program flow in your script For details on each of the following commands see Chapter 2 To specify the next line to be executed from the script file use the goto command Within the script file use the goto command with a label A label begins and ends with a colon consists of up to 15 alphanumeric characters and the underscore character _ and must be on its own line beginning in column 1 To evaluate whether an expression is true use the if command The expression can compare two numerical values or two ASCII strings If the expression is true the script interpreter executes any additional commands that are on the same command line as the if command If the expression is false the script interpreter does not execute the if command
50. certain data types may also be tested using the u num ip or ipx argument If the test on string 1 gt is valid a 1 is substituted for string If the test on lt string1 gt is invalid a 0 is substituted for string Example 1 The following example shows a script using the if command The comments explain what is happening in the script setenv A YES setenv B 1993 string comparison if SA MYERS then echo TRUE date numeric comparison if SB t 82001 then echo FALSE date test for valid IP address syntax if ip 192 88 22 33 1 then echo TRU case insensitive string comparison Lf mke ABC abc then echo TRUE test for valid date time and timezone offset syntax if date 10 10 94 1 then echo Good if time 10 10 44 1 then echo Good qt etx 5 007 1 then echo Good Fl 117382 A Rev A 2 13 Writing Technician Interface Scripts The backslash character allows you to continue a command line on the following physical line When used in this way the backslash is referred to as a line continuation character The line continuation character makes it easier for you to read the script file The maximum command line size is still restricted to 255 characters Example 2 The following example shows an if command using the backslash character if Snum 1 then echo The number is 1 We recommend that you indent the additional command
51. cripts printf The printf command converts formats and prints the input arguments lt p1 gt pN on the Technician Interface console under the control of lt format gt Syntax The printf command has the following syntax printf format p p2 pN format is the string describing what to print lt p1 gt lt p2 gt lt pN gt represent input arguments lt format gt contains text to be printed and conversion specifications Everything inside the lt format gt string is printed except for the conversion specifications When the printf command locates a conversion specification it formats and prints the value of the next input argument that follows the lt format gt string You must have the same number of input arguments as conversion specifications The syntax rules for lt format gt are described later in this section The printf command does not automatically output a newline at the end of each line You must explicitly output a newline as part of either the format string or in the argument strings This feature lets you use multiple printf commands to output a single line or you can use a single printf command to output multiple lines The special character n represents a new line Table 2 4 lists the special characters you can use in the format and input arguments 2 30 117382 A Rev A Command Reference Table 2 4 Special Characters Character Mea
52. cripts wfFddiSmtCfState list_ i Isolated Unknown Wrap A Wrap B Wrap AB Thru Local A Local B Local AB Unknown C Wrap A C Wrap B Unknown w 4 wfFddiEntry wfFDDISmtTNotify list_ i if S name2 0 1 then printf let i goto FI SMT NXT i 4 FI SMI g 4s 45 7 7s n M W S name2 1 LP cctname 117382 A Rev A A 23 Writing Technician Interface Scripts HEE aE RE aE EEE EEE EERE EERE HE AEE EE EE EEE EE EAE ERE ERE MAC screen HEE aE RH EEE EH EE HE EEE EEE EEE EE EEE EEE EEE RAE ERR FI MAC let i l check for circuit name to match on if Sf 2 then goto FI MAC NM setenv cmd 3 let len strlen cmd if Slen lt 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 4 then goto FI HELP SHOW setenv matchcct 4 FI MAC NM echo echo FDDI Modules MAC Parameters cho echo printf 4 4s 4 4s 8 8s 17 17s 17 17s 4 4s 9 9s I LO LOSNA owe WS WOW Upstream Downstream TNeg N Ring Mgmt Ring Op printf 4 4s 4 4s 8 8s 17 17s 17 17s 4 4s 9 9s 10 10s n Slot Conn Circuit Neighbor N Neighbor ms State Count printf 4 4s 4 4s 8 8s 17 17s 17 17s 4 4s 9 9s 10 10s n dm fre TM PU
53. cter must be set in quotes f list is field position Instead of character positions list specifies fields that are separated by a delimiter for example a tab Separate variables are created for each noncontiguous field of characters selected For example 1 4 7 represent fields 1 4 and 7 c list is character position lt list gt is a comma separated list of integer field numbers in increasing order with an optional hyphen to indicate ranges Separate variables are created for each noncontiguous set of characters For example 2 4 6 represent characters 2 4 and 6 1 5 9 represent characters 1 through 5 inclusive and 9 5 10 represent the first character in the list through 5 inclusive and 10 5 represent the character 5 through the last character in the list inclusive Numbers and number ranges may be repeated overlapping and in any order You can select fields or columns not present in the text string variable name is the prefix or name representing the pseudo variable array 2 4 117382 A Rev A Command Reference lt text_string gt with no field delimiters is normally passed through in its entirety Example The following sample script shows how you use the cutenv command to assign portions of 192 32 100 55 to a pseudo variable array cutenv d f 1 3 addr 192 32 100 55 echo Saddr_0 Saddr_1 Saddr_2 2 192 100 117382 A Rev A 2 5 Writing Technician Interface
54. ee55 1 goto END then FOOTE END R AND S value Cct gosub G ETCCTNAME if value SI let match_en Enable T then N match entries 1 tries gosub FI ON ELINE SEL let i goto i 1 ELOOP A 10 117382 A Rev A Sample Scripts Heat aE aE aE aE aE aE aE aE aE HE aE HE aE HE aE a E AE E aE HE HE HE HE AE a a aE HE aE HE a aE EEE HE E E EE aE HEE a aa EBERT Print header for base alerts disabled enabled screens Heat aE aE aE aE aE aE aE aE aE HE aE HE aE HE aE A EAE FE aE HE HE HE aE a a a aE HEHE a a a EEE aE E EEE E HEE aa EE FI_BASEHDR echo printf 4 4s 4 4s 8 8s 8 8s 17 17s 4 4s 4 4s S86 s n lS WME ON NOME BORE OMS SAW printf 4 4s 4 4s 8 8s 8 8s 17 17s 4 4s 4 4s 8 8sNXn Slot Conn Circuit State MAC Address TMO MTU Filter printf 4 4s 4 4s 8 8s 8 8s 17 17s 4 4s 4 4s 8 8s n tee SY vo ty PUN oN v now now now return Heat aE aE aE aE aE AE aE aE aE HE aE HE HE HE aE A EE aE aE aE HE aE aE a a a HE aE HEHE aE a a a EH Ea a a HEE aE Print one line for base alerts disabled enabled screens FE AE aE aE aE aE aE aE TE TE TE HE aE HE HE HE aE TE E AE FE aE aE HE TE aE AE AE a TE TE TE HEHE aE a TE TE TE AEE AE AE TE E a a E E E E EEEE E EE FI ONELINE printf
55. er e s indicates a character string e A percent sign means to print a If you enter the printf command incorrectly the console returns one of the following error messages e printf Expected numeric argument invalid string argument found The 9e conversion specification expected numeric data in the input argument which contained a text string hello there instead of a number 123 e printf Format string has more format codes than there are arguments The format string has more conversion specifications than there are input arguments lt p1 gt pN e printf Invalid format code You entered an invalid conversion specification in the format string 96z Example The following example shows a sample printf command let slot 2 printf Slot 5d n Sslot 2 32 117382 A Rev A record Command Reference The record command saves to an open file all messages written to the console terminal Use this command when you need to capture a snapshot of Technician Interface output for analysis by Bay Networks Technical Response Center personnel You must open a snapshot file before attempting to capture any Technician Interface output to that file You must close the file e After capturing the desired output from the Technician Interface e Before unmounting the router file system e Before resetting the router If you do not follow these instructions you can lose the contents of your s
56. file filename is the name of the script file that contains the variables To locate script errors use the verbose on command and then use the source env command The Technician Interface displays each line from the file before it executes the line enabling you to easily locate errors 2 40 117382 A Rev A sprintf Command Reference The sprintf command converts and formats text and saves the result in a specified variable for later use Syntax The sprintf command has the following syntax sprintf variable name format lt p1 gt p2 pN variable name 1s the name of the environment variable where the formatted string is saved format is the conversion specification See printf for information about conversion specifications p2 pN is the list of arguments to be formatted If you enter the sprintf command incorrectly the console returns one of the following error messages sprintf Expected numeric argument invalid string argument found The 9e conversion specification expected numeric data in the input argument which contained a text string hello there instead of a number 123 sprintf Format string has more format codes than there are arguments The format string has more conversion specifications than there are input arguments lt p1 gt pN sprintf Invalid format code You entered an invalid conversion specification in the format str
57. g this Agreement contact Bay Networks Inc 4401 Great America Parkway P O Box 58185 Santa Clara California 95054 8185 LICENSEE ACKNOWLEDGES THAT LICENSEE HAS READ THIS AGREEMENT UNDERSTANDS IT AND AGREES TO BE BOUND BY ITS TERMS AND CONDITIONS LICENSEE FURTHER AGREES THAT THIS AGREEMENT IS THE ENTIRE AND EXCLUSIVE AGREEMENT BETWEEN BAY NETWORKS AND LICENSEE WHICH SUPERSEDES ALL PRIOR ORAL AND WRITTEN AGREEMENTS AND COMMUNICATIONS BETWEEN THE PARTIES PERTAINING TO THE SUBJECT MATTER OF THIS AGREEMENT NO DIFFERENT OR ADDITIONAL TERMS WILL BE ENFORCEABLE AGAINST BAY NETWORKS UNLESS BAY NETWORKS GIVES ITS EXPRESS WRITTEN CONSENT INCLUDING AN EXPRESS WAIVER OF THE TERMS OF THIS AGREEMENT iv 117382 A Rev A Contents About This Guide PATH ie NITE cout ciate dale D IS xi Before You Begin eer Ibn PERDU ER isse nq lp m xii WR UD E EA E to DO T 00 E oT xiii Ordering Bay Networks PUDIGSOIS 1 cy cette costae Feed anra pna pcne iR lathe neni xiii Bay Neiworks Customer SEIVIOB odo pni are ede p bna d c d Ha GG bcd ird RR A xiv xU Rer d eT eU xiv Chapter 1 Creating a Script File POPPI MN te uai enne accu be ds dons E dera cni ve dine taeda oed rs EUR kk da a c OS 1 2 Local Global and System Variables erusiesoscse rae easbeci eae n pl ceeded 1 4 um ceptis E re 1 4 Trip TS UIDES a oer distin Date ep mddsstennill aste bue gone reel don tenni tree rn tenet cr santnpendeee 1 4
58. he date variables MM DD and YY represent the numeric values of month day and year respectively The time variables HH MM and SS represent the numeric values of hours minutes and seconds respectively Example 3 The following example shows how to use the date time and days flags and the date time and timezone functions of the let command 117382 A Rev A 2 21 Writing Technician Interface Scripts let date time localtime date time echo Slocaltime 10 11 95 15 24 05 let date time london date 10 7 95 time 7 04 timezone timezone 00 00 echo Slondon 10 07 95 12 04 00 Ce let dat time newyork date 10 7 95 time 7 04 N timezone timezone 05 00 let dat time la date 10 7 95 time 7 04 timezone timezone 08 00 let days time time left date 12 25 date time echo Stime_left 74 days 08 34 58 Example4 The following example shows how to use the let command to set up a slotmask let slot lt Enter Slot Number gt let h slotmask 0x80000000 gt gt slot 1 echo slot Sslot slotmask Sslotmask More Examples Additional examples using the let command are shown below let b 5 10 2 let capA A set env letter A let capA Sletter len strlen abcdef setenv string answer 1 let len strlen string let index strindex string
59. he system Deletes the variable slot from either the local or the global table depending on the table in which the variable resides Deletes the variables slot and value from either the local or global table depending on the table in which the variables reside Deletes all variables in both the local and global environment variable tables Deletes all variables in the local environment variable table Deletes all variables in the global environment variable table Deletes all symbols that begin with ip_ 117382 A Rev A 2 43 Writing Technician Interface Scripts verbose The verbose command allows you to enable the debug trace facility When you enable the trace facility the Technician Interface displays each command read from the script file before and after its variables have been expanded Syntax The verbose command has the following syntax verbose onloff onloff is on to enable the debug trace facility or off to disable it 2 44 117382 A Rev A Appendix A Sample Scripts To help you create your own scripts this appendix contains three sample scripts e Menu script e FDDI mnu script e FDDI bat script Menu Script The following example shows a menu script for a Bay Networks router ENU on error MENU echo wir echo Simple Menu Example echo Time and Date echo 2 Display TFTP default volume echo 3 Set TFTP default volume echo 4 Quit echo se
60. hen b is executed setenv a blue setenv b My color is a echo Sb My color is blue appears on the user s console 117382 A Rev A Creating a Script File To prevent a variable from being expanded enter two dollar signs before the variable name as shown in the following example setenv a blue setenv b My color is a echo b My color is a appears on the user s console You may embed variables in quoted strings as shown in the previous example The following command line encloses the variable names a and b in braces f to separate the variable names from other data within the string echo The sum of S a 1 S b Note If the variable name is followed by a space or an end of line character carriage return the brackets are optional A variable name is usually a literal string of characters preceded by a dollar sign The variable name can also be built dynamically when the script is executed by using a combination of literal text and the text stored in other variables For example if you have a variable named array 0 you can reference this variable by entering array 10 on a command line You can build this same variable name by concatenating the text strings array and 10 For example if you assign the variable index the value 10 using the command let index 10 then you can build the variable name array 70 dynamically on the command line using the following syntax array
61. i goto FI END FI HANDLER echo Script hwfilter bat not found echo goto FI END THETHEEREREEHEREREREHEREREHEHEREREREHEREHEHEHEREHEEHEREHREHEREHEE ERR EEHEEEHEEEREHEEHERHEEEREHEHE EB E E Parse for enable command HHHPHERHEEAPEEEEEEEE EER EEEPEEEREEER EERE EAP EEEPEEE EEE EEE ESE E FI_ENBL if Sf 1 then goto FI HELP ENBL setenv cmd 2 let len strlen cmd if Slen 3 then goto FI HELP ENBL let i strindex circuit cmd if i 1 then goto FI ENBLC let i strindex connector cmd if i 1 then goto FI ENBLI FI HELP ENBL echo FDDI Enable Command Help cho Ww m echo echo enable fddi option echo Where option is one of the following echo et echo circuit circuit name echo connector slot connector goto FI END 117382 A Rev A A 33 Writing Technician Interface Scripts 3k Enable circuit FI ENBLC if 3 then goto FI HELP ENBL instenv list wfFddiEntry if Slist 0 0 then goto FI ENBLNF setenv matchcct 3 if matchcct then goto FI END let i l Search for circuit with matching name FI ENBLLP on error FI ENBLNXT if i gt Slist 0 then goto FI ENBLNF let cctnum wfFddiEntry wfFDDICct list_ i gosub GETCCTNAME if ic Smatchcct Scctname then goto FI EN
62. ile using the verbose command e Saving or restoring variables to or from a file using the save env and source env commands e Running a script file with command line arguments using the run command e Documenting a script file with command lines About Variables A variable is a location in the computer s memory for storing a value A variable name identifies the location Variable names can consist of up to 15 alphanumeric characters and the underscore character _ The first character of a variable name must be an alphabetical character The Technician Interface stores the value of a variable as a string of ASCII characters The maximum string length is 255 characters You can assign a value to a variable using one of the set variable commands arrayenv cutenv enumenv instenv let setenv mibget or sprintf For instructions on using these commands see Chapter 2 After you have assigned a value to a variable you can refer to the variable on a command line within the script file by entering a dollar sign before the variable name for example a When you refer to a variable the Technician Interface substitutes the value set for the variable itself If you want to prevent or delay the substitution of the variable enter the backslash character X before the The backslash character also called the escape character indicates that special characters follow In the following script the value of a is substituted for a w
63. in a script file deletes local variables when the script ends save env Saves the current list of local and global variables to a script file setenv Assigns an ASCII string value or a numeric value to a variable in a local environment variable table source env Reads and executes the Technician Interface commands in a script file saves restores local variables when the script ends sprintf Converts and formats text and saves the result in a specified variable unsetenv Deletes one or more variables from the local or global environment variable table verbose Enables the debug trace facility 2 2 117382 A Rev A arrayenv Command Reference The arrayenv command allows you to write a list of command line arguments lt text_string gt to a pseudo variable array beginning with the prefix variable name You can also append arguments to the end of an existing variable array using the a option Syntax The arrayenv command has the following syntax arrayenv a variable name lt text_string gt text string a appends the new arguments to the end of a variable array variable name is the name of the variable that holds the array text string contains the command line arguments If the text for the arguments contains blanks or special characters enclose it in double quotes as shown in syntax For example to pass the argument Router One specify Router One in the statement Examp
64. ing 9ez ERROR Symbol name is greater than 15 characters You specified a variable name longer than 15 characters ERROR Invalid character invalid character in symbol You entered an invalid character in the variable name ERROR Symbol text is greater than 255 characters The value assigned to the variable is longer than 255 characters 117382 A Rev A 2 41 Writing Technician Interface Scripts unsetenv The unsetenv command allows you to delete one or more variables from the local or global environment variable table You cannot delete a variable from the system environment variable table Syntax The unsetenv command has the following syntax unsetenv variable name unsetenv variable name variable name unsetenv unsetenv l unsetenv g unsetenv lt text gt unsetenv lt text gt variable name is the name of the variable you want to delete deletes variables from the local table only g deletes variables from the global table only deletes all variables from the table you specify If you do not specify a table it deletes all variables matches a single character in the given string position text deletes all variables that begin with the specified text string 2 42 117382 A Rev A Examples If you enter unsetenv slot unsetenv slot value unsetenv unsetenv l unsetenv g unsetenv ip_ Command Reference T
65. invalch strpbrk 3 Steststr if Sinvalch 0 then goto FIDS MSGl1 HELP SKIP STRPBRK2 let firstdot strindex 3 if Sfirstdot 0 then let lastdot if Sfirstdot if wfFddiEntry wfFD strrindex 3 Slastdot then u goto u DIEnable 3 set wfFddiEntry wfFDDIEnable 3 2 ecno goto FDDI commit FI END FI DSBLIE echo FDDI connector 3 not found goto FIDS_MSG1_H gosub goto FIDS_MSG2_H gosub goto FIDS_MSG3_H gosub goto P FI END i iE ERR_MSG1 FI HELP DSBL el E ERR_MSG2 FI HELP DSBL a E ERR MSG3 FI HELP DSBL connector 3 disabled goto FIDS MSG2 HELP FIDS MSG3 HELP E 0 then goto FI DSBLIE A 38 117382 A Rev A Sample Scripts Heat aE aE aE aE aE aE TE aE aE HE aE HE aE HE aE TE aE HE aE HEHE HE aE AE a a a aE HE HE aE a a a aaa HEE a a E HEE a a EE Version command Heat aE aE aE aE aE aE a aE aE HE aE HE aE HE aE A E AE HE aE aE HE HE aE AE a a a HE aE HEHE aE a aH EE E EE HEHE aE a a a EE FI VER echo fddi bat Version 1 11 Date 10 31 94 goto FI END Circuit Name fetching Gosub GETCCTNAME if wfCircuitNameEntry wfCircuitName cctnum 0 then setenv cctname return setenv cctname wfCircuitNameEntry wfCircu
66. itName cctnum return Branch point to print footer of table then fall through to end of script FOOTER_AND_END echo let tbl entries i 1 if Smatchect then goto FAE SKIP if match entries 1 then printf Found 5d match out of match entries goto FAE SKIP printf Found 5d matches out of S match entries FAE SKIP if Stbl entries 1 then printf 5d entry in table n tbl entries goto FAE DONE printf 5d entries in table Wn tbl entries FAE DONE 3k Exit branch point FI END 117382 A Rev A A 39 Symbols inserting comments using 1 13 referencing variable using 1 2 A arrayenv command 1 10 2 3 arrays 1 8 B Bay Networks Press xiii C commands arrayenv 1 10 2 3 cutenv 1 9 2 4 echo 1 8 1 12 2 6 enumenv 1 10 2 7 export 1 4 2 8 getenv 1 8 2 9 gosub 1 11 2 10 goto 1 11 2 11 if 1 11 2 12 to 2 15 instenv 1 9 2 16 let 1 10 2 18 to 2 22 mibget 2 23 to 2 25 octetfmt 1 7 2 26 on error 1 12 2 28 pause 1 11 2 29 printf 1 12 2 30 to 2 32 record 1 12 return 1 11 2 35 run 1 14 2 36 117382 A Rev A Index save env 2 38 setenv 1 9 2 39 source env 1 13 2 40 sprintf 1 10 2 41 unsetenv 1 10 2 42 verbose 1 13 2 44 comments inserting 1 13 controlling program flow 1 11 customer support programs xiv Technical Solutions Ce
67. l i BoflTmo Mtu HwFilter echo FDDI Modules on Alert v cho gosub FI BASEHDR let i FI ALOOP mibget n wfFddil if Snex 0 tid END then let i let cctnum value Cct Entry attr nextid value nextid i 1 goto FOOTER AND END gosub GETCCTNAME if S value SEnable 1 then goto FI SKIPA if S value S State 1 then goto FI_BASE10 if wfFddiSmtEntry wfFddiSmtCfState nextid 1 then goto FI BASE10 if wfFddiMacExtEntry wfFddiMacMaUnitDataEnable nextid 2 then goto FI_SKIPA FI_BASE10 let match_en gosub FI ONELINE tries match entries 1 117382 A Rev A Sample Scripts Do next circuit FI_SKIPA let i i 1 goto FI_ALOOP Heat aE aE aE aE aE aE aE aE aE HE aE HE aE HE aE TE E AE HE aE aE HE HE E AE a a a EH aE aE a a a aa HEE a a a E EE HEE a a E a EBERT Show Disabled screen FE AE aE aE aE aE aE aE TE TE TE HE aE HE aE HE aE TE E AE HE a FE TE TE E AE a a FE TE TE TE HE HE aE a TE TE TE EAE AE AE TE HE E EE E E E E EEEE E E H EEEE FI_DSBLED setenv matchcct w XXX setenv nextflag setenv pattern setenv nextid Moo wr array attr wfFDDICct wfFDDIState wfFDDIEnable wfFDDISlot array a attr wfFDDINode wfFDDIMadr MAC ADDRESS wfFDDIBofl array a attr wfFDDIBoflTmo wfFDDIMtu wfFDDIHardwareFilter enum 1
68. lays each line from the file before it executes the line enabling you to locate errors easily You can use the run command with the s flag to prevent the system from returning an error message if the run command cannot locate the specified script file The following example shows the run command with the s flag run s install bat Note The run command automatically appends the bat suffix to the end of the script file name you specify If you issue the command run install the system first looks for a file named install If it cannot find this file it looks for a file named install bat For more information about the run command see Chapter 2 Creating Menus The menu utility allows you to edit existing script menus and to create your own menus For instructions on using the menu utility refer to Using Technician Interface Scripts You can also edit a script menu by directly editing the appropriate mnu file Appendix A shows examples of a script menu and a script 117382 A Rev A Chapter 2 Command Reference In the following pages you can find the function syntax and examples of all the script commands you need to write edit and execute your script files Table 2 1 lists the script commands and their functions Table 2 1 Script Commands Command Function arrayenv Writes list of command line arguments to a pseudo variable array cutenv Selects part of a
69. le The following example sets up an array named attribute specifies a series of values for the array appends a value to the list and then prints the number of elements in the array the value of the first element and the value of the last element The size of the pseudo variable array is stored at index 0 arrayenv attribute one two three amp four five six amp seven arrayenv a attribute Router One echo Size attribute 0 echo First element attribute 1 echo Last element S attribute attribute 0 The output from this script is as follows Size 6 First element one Last element Router One 117382 A Rev A Writing Technician Interface Scripts cutenv The cutenv command allows you to select portions of a text string as specified by lt list gt and write them to a pseudo variable array beginning with the prefix variable name The items specified by list can represent column position or fields delimited by a special character Column and field numbering start at 1 Syntax The cutenv command has the following syntax cutenv s d lt delimiter gt f list c lt list gt variable name lt text_string gt S suppresses text string with no delimiter characters d lt delimiter gt sets the field delimiter to lt delimiter gt The default is a tab Characters with a special meaning to the Technician Interface interpreter such as a tab or space chara
70. le array use the cutenv command 117382 A Rev A Writing Technician Interface Scripts To convert and format text and save the result in a specified variable for later use use the sprintf command To evaluate a simple arithmetical or logical expression and assign the result to a given variable use the let command The let command evaluates an expression from left to right default You can use parentheses to change the order of the evaluation To write a list of command line arguments into a pseudo variable array use the arrayenv command You can append arguments to the end of an existing variable array with the a option If an argument contains spaces place double quotes around it for example enclose this one To assign a sequence of values to a list of variable names use the enumenv command You must indicate a starting number and optionally you can specify a value by which to increment the values in the series You can use the sequence you have created as named indices of an array variable Primarily you use this command with the arrayenv command to index the values created by that command Deleting Variables To delete one or more variables from the local or global environment variable table use the unsetenv command For example if you enter unsetenv a the system deletes variable a from the table You cannot delete a variable from the system environment variable table You can delete all varia
71. lume 2 present 117382 A Rev A 2 15 Writing Technician Interface Scripts instenv The instenv command allows you to define a pseudo variable array that contains the list of MIB instance IDs for a given MIB object name The instenv command builds a pseudo variable array by appending an index number to the variable name specified on the command line Each member of the pseudo variable array contains a single instance ID The size of the pseudo array is stored at index 0 Syntax The instenv command has the following syntax instenv lt array_name gt lt object gt lt array_name gt is the name you assign the pseudo variable array lt object gt is the name of the MIB object table from which to retrieve the information Note We recommend that you use the new mibget command instead of the instenv command The mibget command accesses MIB tables approximately 50 percent faster than the instenv command Example 1 The first four lines in the following example show how you list the instance IDs for wfIpInterfaceEntry to the console the last nine lines show how you use the instenv command to assign these instance IDs to a pseudo variable array Slist i wflpInterfaceEntry inst ids 192 32 23 5 1 192 32 7 8 2 192 32 2 3 3 Sinstenv ip wflpInterfaceEntry Secho Size ip 0 Size 3 Secho 1i Suppl 1 192 92 23 5 1 Secho 2 S ip_ 2 22 9232557 8 eZ Secho rar Sap lI 325 192 32 2 323 2 16
72. me value MacErrRx printf 4s 4s 8 7 7s n W name2 1 FI_RCV_NXT let i i 1 goto FI_RXLOOP Gosub to extract errors in the MAC object from the octet strings returns sum in mac sum MAC_EXTRACT setenv mac_sum 0 if wfFddiMacEntry wfFddiMacl return ErrorCts nextid 0 then N 117382 A Rev A wfFddiMacLostCts HEX BYTES Sample Scripts array mac attr wfFddiMacErrorCts HEX BYTES enum 1 errorcts lostcts mibget wfFddiMacEntry mac attr nextid mac value mac next cutenv d f1 mac err S mac_value Serrorcts cutenv d f1 mac lost mac_value Slostcts let mac sum mac sum 0xS mac_err 8 let mac sum mac sum 256 Ox mac err 7 let mac sum mac sum 65536 Ox mac_err 6 let mac sum mac sum 16777216 OxS mac_err 5 et mac sum mac sum 0x mac_lost 8 let mac sum mac sum 256 Ox mac lost 7 et mac sum mac sum 65536 Ox mac lost 6 et mac sum mac sum 16777216 Ox mac_lost 5 return HEE ER HE EEE HEE HE EEE EE REE AEE EE EE EE REE EA EERE ERE Transmit Errors screen FEE TE AE FE ER EE EEE HE EE HERE ER REE EEE EE AEE EE RE EAE RE ERR FI_XMIT if lt 3 then goto FI_Tx1 let cmdlen strlen 3 let i strindex errors 3 if i 1 then if cmdlen gt 3 then goto FI_Tx1 goto FI_HELP
73. n the file If you press Ctrl c to abort the script the Technician Interface displays the following prompt Terminate script file y n Syntax The on error command has the following syntax onerror s lt abel gt S allows the script to recover without returning an error message if the on error command cannot locate a specified file label is the name of the error handler label Example In the following script the script interpreter goes to the label ERROR HANDLER when an error occurs on error ERROR HANDLER echo what echo this line is skipped due to the above echo syntax error Missing quote ERROR_HANDLER echo The error handler is called because of the echo deliberate syntax error in the previous command The error handler is automatically canceled after an error is found or if you issue the on error command without a label 2 28 117382 A Rev A pause Command Reference The pause command allows you to suspend operation of the Technician Interface for a given interval During this time the router is still running Syntax The pause command has the following syntax pause lt no _of_seconds gt lt no _of_seconds gt is the length of the pause in the operation of the Technician Interface Example The following command suspends operation of the Technician Interface for 10 seconds pause 10 117382 A Rev A 2 29 Writing Technician Interface S
74. n to Bay Networks the Software user manuals and all copies Bay Networks is not liable to Licensee for damages in any form solely by reason of the termination of this license 8 Export and Re export Licensee agrees not to export directly or indirectly the Software or related technical data or information without first obtaining any required export licenses or other governmental approvals Without limiting the foregoing Licensee on behalf of itself and its subsidiaries and affiliates agrees that it will not without first obtaining all export licenses and approvals required by the U S Government i export re export transfer or divert any such Software or technical data or any direct product thereof to any country to which such exports or re exports are restricted or embargoed under United States export control laws and regulations or to any national or resident of such restricted or embargoed countries or ii provide the Software or related technical data or information to any military end user or for any military end use including the design development or production of any chemical nuclear or biological weapons 9 General If any provision of this Agreement is held to be invalid or unenforceable by a court of competent jurisdiction the remainder of the provisions of this Agreement shall remain in full force and effect This Agreement will be governed by the laws of the state of California Should you have any questions concernin
75. napshot file Enter the following command to open a file and to save console messages to that file record open fileonly pause lt vol gt lt filename gt open creates and opens a snapshot file The system sends command output and messages to both the console terminal and the file fileonly writes messages only to the file not to the terminal This option is used only within a script and is otherwise ignored This option allows a script to write output to a file The default is for messages to be written to both the file and the terminal pause immediately places the system in pause mode You can use this option with the fileonly option vol is the slot number containing the volume used to store the file lt filename gt is the name of the file used to store output from the router s Technician Interface 117382 A Rev A 2 33 Writing Technician Interface Scripts Note When you designate a snapshot file on an NVFS flash file system remember that only one snapshot file can be open at a time If you use other Technician Interface commands to write to another file when the snapshot file is open on the same file system the commands fail You can stop saving messages to a snapshot file temporarily by using the pause option with the record command To change the pause state enter record pause on off on disables recording off re enables recording To display the pause state enter reco
76. nd has the following syntax if option string1 lt operand gt lt string2 gt then command command il option is one of the following arguments u tests whether string is an unsigned number num tests whether s ring1 is a number ip tests whether string1 is an IP address ipx tests whether string is an IPX address ic means ignore case when comparing strings file tests whether filename is present dir tests whether directory name is present vines tests whether string1 is a VINES address date tests whether string uses the date format MM DD YY time tests whether string uses the time format HH MM SS tz tests whether lt string1 gt uses the GMT offset format HH MM 2 12 117382 A Rev A Command Reference lt string1 gt lt string2 gt are ASCII character strings or numbers operand is one of the following comparison operations equal not equal gt greater than gt greater than or equal lt less than lt less than or equal then is an optional word used for ease of reading command is a Technician Interface command If both string and lt string2 gt are numbers the test expression for the if command is a numeric comparison If string1 and string2 are not numbers a case sensitive string comparison is done You specify a case insensitive comparison using the ic argument The syntax for
77. nd time functions date time timezone The function date used with no arguments returns the current date in seconds If you enter a date string in the format MM DD YY for example date 10 7 95 the function returns the number of seconds from January 1 1900 to that date Dates may range from 1 1 00 January 1 1900 to 12 31 99 December 31 1999 If you omit the year the function uses the current year The function time used with no arguments returns the current local time in seconds If you enter a time string in the format HH MM SS for example time 7 04 32 HH MM or MM the function returns the number of seconds from 12 00 midnight to that time HH must be a value between 0 and 23 inclusive MM must be a value between 0 and 59 inclusive SS must be a value between 0 and 59 inclusive The function timezone used with no arguments returns the current time zone in seconds If you enter a time zone string in the format HH MM for example timezone 08 00 the function returns the number of seconds for that time zone from the International Date Line You enter the time zone string relative to GMT which is 43200 seconds offset from the International Date Line The string must begin with either a plus or a minus sign followed immediately by HH MM HH must be a value between 0 and 11 inclusive and MM must be a value between 0 and 59 inclusive Note In the previous examples t
78. nformation Interchange ATM asynchronous transfer mode FDDI Fiber Distributed Data Interface MAC media access control MIB management information base OSI Open Systems Interconnection OSPF Open Shortest Path First RIP Routing Information Protocol SNMP Simple Network Management Protocol Ordering Bay Networks Publications To purchase additional copies of this document or other Bay Networks publications order by part number from Bay Networks Press at the following numbers e Phone U S Canada 888 422 9773 e Phone International 510 490 4752 e FAX U S Canada and International 510 498 2609 The Bay Networks Press catalog is available on the World Wide Web at support baynetworks com Library GenMisc Bay Networks publications are available on the World Wide Web at support baynetworks com Library tpubs 117382 A Rev A xiii Writing Technician Interface Scripts Bay Networks Customer Service You can purchase a support contract from your Bay Networks distributor or authorized reseller or directly from Bay Networks Services For information about or to purchase a Bay Networks service contract either call your local Bay Networks field sales office or one of the following numbers Region Telephone number Fax number United States and Canada 800 2LANWAN then enter Express Routing Code ERC 290 when prompted to purchase or renew a service contract 508 916 8880 direct 508 916 3514 Europe 33
79. ng every 4 bytes HEX BYTES formats the data as a hexadecimal string with each byte separated by a dot HEX WORDS formats the data as a hexadecimal string with a dot separating every 2 bytes HEX LONGS formats the data as a hexadecimal string with a dot separating every 4 bytes HEX USTRING or HEX STRING formats the data as a hexadecimal string using uppercase digits for A F HEX LSTRING formats the data as a hexadecimal string using lowercase digits for a f MAC1 ADDRESS or MAC ADDRESS formats the data as a canonical MAC address 2 26 117382 A Rev A Command Reference MAC2_ADDRESS formats the data as a noncanonical MAC address SIGNED_INTEGER or INTEGER formats the data as a 4 byte signed integer UNSIGNED_INTEGER formats the data as a 4 byte unsigned integer MIB object represents the variable values lt object attribute instance gt Example The following example shows a script using the octetfmt command The command formats the MIB object as a hexadecimal string using uppercase digits octet fmt serialno HEX_USTRING wfHwBase wfHwBpSerialNumber 0 echo Backplane serial number Ox serialnoV 117382 A Rev A 2 27 Writing Technician Interface Scripts on error The on error command allows you to specify an error handler label within a script file If a command returns an error or if the user attempts to abort the script file the script interpreter goes to the error handler label defined i
80. ning a audible bell b backspace f form feed n newline r carriage return t tab xhh hex code 3000 octal code A summary of the flags and conversion codes follows format 9 e flag width precision conversion specification flag represents one of the following symbols e minus sign left justifies data default is right justified e plus sign prints a number e Sspace prints a minus sign in front of a negative number or prints a space in front of a positive number e Zero 0 pads numeric conversions with zeros e pound sign specifies an alternate output form if the conversion specifier is X or o width is a number that specifies the minimum field width If width is specified as an asterisk then use the next argument as width period separates width and precision precision specifies the maximum number of characters to be printed from a string or the minimum number of digits for an integer If precision is an asterisk then use the next argument as precision 117382 A Rev A 2 31 Writing Technician Interface Scripts lt conversion_specification gt can be one of the following e dori indicates signed decimal notation e oO indicates unsigned octal notation no leading zero e xor X indicates unsigned hexadecimal notation no Ox prefix e ul indicates unsigned decimal cindicates a single unsigned charact
81. nters xiv cutenv command 1 9 2 4 D debugging script files 2 44 deleting variables 1 10 2 42 E echo command 1 8 1 12 2 6 enumenv command 1 10 2 7 error messages from printf command 2 32 from sprintf command 2 41 error recovery performing 1 12 2 28 evaluating expressions 2 12 2 18 export command 1 4 2 8 F formatting output 2 30 Index 1 functions 2 20 2 21 G getenv command 1 8 2 9 global variables overview of 1 4 PWD 1 11 gosub command 1 11 2 10 goto command 1 11 2 11 if command 1 11 2 12 to 2 15 instenv command 1 9 2 16 L let command 1 10 2 18 to 2 22 local variables 1 4 menus 1 14 messages saving to a file 1 12 2 33 writing to the console 1 12 2 6 MIB accessing information about 1 6 formatting entries 1 7 2 26 retrieving attributes from 2 23 variable types 1 6 mibget command 2 23 to 2 25 moving variables 2 8 O octet string data 1 7 2 26 octetfmt command 1 7 2 26 on error command 1 12 2 28 opaque string data 1 7 2 26 Index 2 P pause command 1 11 2 29 polling console for input 1 5 printf command 1 12 2 30 to 2 32 prompting user for input 1 5 pseudo variable arrays defining 1 8 2 16 description of 1 8 writing arguments to 2 3 writing text to 2 4 publications ordering xiii PWD global variable 1 11 R record command 1 12 2 33 recording console messages 1 12 2 33 return command 1 11
82. ntf 10u S wfFddiPort ExtEntry wfFddiPortLemCts list i printf 10u wfFddiPortExtEntry wfFddiPortEbErrorCts list_ i printf 10u wfFddiPortExtEntry wfFddiPortLctFailCts list_ i Next line echo FI_PORT_NXT let i i 1 goto FI PORT LP 117382 A Rev A A 27 Writing Technician Interface Scripts HERE E HE FE FE FE TE TE E HE FE FE FE EH EEE EEE HEHEHE EEE E E EE E EH HEHEHE HERE Sample screen samples parameters twice prints deltas FE TE TE AE E HE FE FE FE TE TE E HE FE FE FE TE EH HE FE FE TE TE EE AE FE TE TE TE E EEE EE HEE E E EE E E E E EEEE E E E EEEH FI_SAMP let period 10 if lt 3 then goto FI Sampl check for circuit to match without period given setenv cmd 3 let j strindex circuit cmd if j 1 then goto FI ITSPERIOD let len strlen cmd if Slen lt 3 then goto FI HELP SHOW if 4 then goto FI HELP SHOW setenv matchcct 4 goto FI Sampl FI ITSPERIOD setenv period 3 Check period parameter for invalid characters 0 value if Sver lt x7 80 then goto FI SAMP CKVAL setenv teststr ABCDEFGHIJKLMNOPQRSTUVWXYZ let invalch strpbrk 3 Steststr if Sinvalch 0 then goto FI SAI HELP setenv teststr abcdefghijklmnopqrstuvwxyz let invalch strpbrk 3 Steststr
83. numenv 1 proto dest next age mask metric as Read the first record with nextflag turned off setenv nextflag 2 24 117382 A Rev A Command Reference First instance ID to read wildcard setenv nextid Begin loop to read entire set of records IP RT LOOP mibget nextflag wflpForwardEntry attr nextid value nextid if Snextid END then goto IP RT END Set get next record flag setenv nextflag n printf 15s 15s 5d 8d 8d 15s S value S dest S value Smask value Sproto value S age S value Smetric value next goto IP_RT_LOOP IP RT END 117382 A Rev A 2 25 Writing Technician Interface Scripts octetfmt The octetfmt command formats a MIB entry with an Octet or Opaque data type using the specified format type Syntax The octetfmt command has the following syntax octetfmt lt variable_name gt lt format_type gt lt MIB_object gt lt variable_name gt is the name of the variable lt format_type gt is one of the following values ASCII STRING returns the data as a printable display string Any data that is not printable is returned as its hex value in the form 00 DEC BYTES formats the data as an unsigned decimal number with each byte separated by a dot DEC WORDS formats the data as an unsigned decimal number with a dot separating every 2 bytes DEC LONGS formats the data as an unsigned decimal number with a dot separati
84. o not type before this variable name since the input is passed by reference not by value Examples The following example searches through the IP routing table to retrieve a series of attributes and prints the result on the Technician Interface console The object from which to retrieve information is wflpForwardEntry The script uses the arrayenv command to create the attribute array variable attr that lists the attributes from which to retrieve values Then it uses the enumenv command to establish meaningful names for the indices for attr The script reads the first record with the nextflag turned off In the loop CIP RT LOOP nextid is the instance id option value is the name of the value array where the script places the values it retrieves nextflag is set to n to read through the records The script prints the values as it retrieves them and loops again until it has retrieved the desired attributes from the entire set of records The following examples show how to retrieve attribute values from the IP routing table using the mibget command The comments explain what is happening in the script f Purpose Retrieve attribute values from the IP routing table Retrieve values from the following attributes arrayenv attr fIpForwardProto wflpForwardDest wflpForwardNextHop wflpForwardAge wflpForwardMask wflpForwardMetricl wflpForwardNextHopAS Indices for attributes in value array where values are placed e
85. ommand see Chapter 2 Saving and Restoring Variables To save the current list of local and global variables to a file use the save env command For example to save the variables to a file named test enter the following command save env test To read and execute the commands in a Technician Interface script file and to ensure that the router saves restores all local variables when the script ends use the source env command For example to run the script file test on volume 2 and to restore upon completion all local variables saved previously to test enter the following command source env 2 test To locate script errors use the verbose on command and then use the source env command The Technician Interface displays each line from the file before it executes the line enabling you to easily locate errors For more information about the save env and source env commands see Chapter 2 117382 A Rev A Writing Technician Interface Scripts Running a Script File To read and execute the commands in a Technician Interface script file and to ensure that the router deletes all local variables when the script ends use the run command For example to run the script file test on volume 2 deleting upon script completion all local variables saved previously to test enter the following command run 2 test To locate script errors use the verbose on command and then use the run command The Technician Interface disp
86. rd pause To close and save the contents of your designated snapshot file enter record close By checking the global variable RECORD_STATE you can determine whether e The router is actively saving messages to your snapshot file RECORD_STATE ON e The router has temporarily stopped saving messages to your snapshot file RECORD STATE PAUSED e The router has unconditionally stopped saving messages to your snapshot file RECORD STATE OFF 2 34 117382 A Rev A return Command Reference You use the return command in a subroutine to return to the calling routine When the return command executes the script interpreter begins executing the instructions on the line following the line containing the gosub command Syntax The return command has the following syntax return Example The following example shows a script using the gosub and return commands main let arg 1 gosub SUBROUTINE echo Return value return goto EXIT SUBROUTINE let return Sarg Sarg Sarg 1 return EXIT 117382 A Rev A 2 35 Writing Technician Interface Scripts run The run command allows you to read and execute the Technician Interface commands in a Technician Interface script file The run command deletes all local variables when a script ends Syntax The run command has the following syntax run s lt vol gt lt filename gt lt p1 gt lt p2 gt lt p9 gt S prevents the
87. riables are not in consecutive memory locations To create a pseudo array use variable names that end in numbers for example a1 a2 and a3 The following script shows how to access a member of an array using an index setenv al one setenv a2 two setenv a3 three let index 2 echo a Sindex S a Sindex a 2 two is displayed on the user s console For specific instructions on using the commands in the previous example see Chapter 2 Creating and Using Variables This section explains how to view local and global variables how to set variables and how to delete them Viewing Variables You view the current list of variables stored in the local and global environment variable tables using the getenv command For example if you enter getenv a the system responds a blue You can also use the echo lt variable_name gt command to view a variable For specific instructions on using the getenv and echo commands see Chapter 2 1 8 117382 A Rev A Creating a Script File If you access the Technician Interface via Telnet the Technician Interface also displays the variables in the system environment variable table Variables in this table are read only from the Technician Interface If your Telnet client supports the environment variable option you can use Telnet to send your UNIX environment variables to the Technician Interface s system list See your Telnet client documentation for instructions
88. rlen returns the number of characters in the parameter string strlen lt string gt The function strindex finds the first occurrence of a string in another string The function strrindex finds the last occurrence of a string in another string Both functions return the offset within lt string gt of lt substring gt s position or 0 if lt substring gt is not found strindex lt string gt lt substring gt strrindex lt string gt lt substring gt The function strpbrk searches string for the first character that matches any of the characters given in the character string set The function returns the offset to the first matching character s position in lt string gt or 0 if no character of set appears in string strpbrk string lt set gt The function strmatch string lt pattern gt compares lt string gt to pattern If lt string gt matches the pattern the function returns a 1 otherwise it returns a 0 You may use wildcards or in lt pattern gt A matches any character or no character and a matches any character in that position in the string A character must exist in that position for to match strmatch lt string gt lt pattern gt 2 20 117382 A Rev A Command Reference You can also get the ASCII code for a given character indicated as one character within single quotes such as c The let command also provides the following date a
89. rms_ i if delta txfrms lt 0 then goto FI NEXT TRY let delta rxlors s2rxlors j slrxlors_ i if Sdelta_rxlors lt 0 then goto FI NEXT TRY let delta txlors s2txlors_ j sltxlors_ i if Sdelta_txlors lt 0 then goto FI NEXT TRY let matches Smatches 1 let cctnum wfFddiEntry wfFDDICct slinstid_ i gosub GETCCTNAME printf 4d 4d wfFddiEntry wfFDDISlot slinstid_ Si wfFddiEntry wfFDDINode slinstid_ i printf 8 8s Scctname printf 10u 10u 10u 10u n Sdelta_rxfrms delta txfrms Sdelta_rxlors delta_txlors cutenv c9 15 name2 Scctname if name2 0 1 then printf 4s 4s 7 7sNn S name2 1 FI NEXT TRY let j j 1 if j lt s2instid_0 then goto FI_SAMP_MATCH let i i 1 if i lt slinstid 0 then let j jlow goto FI_SAMP_MATCH let i Stable_siz goto FOOTER_AND_END FI SAMP HELP cutenv c Sinvalch ugly 3 echo Inappropriate character ugly 1 in parameter echo only digits allowed echo goto FI HELP SHOW A 32 117382 A Rev A Sample Scripts HHHPHERHEEAPEEREEEEE EER EEEPEEEREEEEEEEPEEES EERE EEPEEER EEE EB E E Hardware Filter screen HEE aE RH aE EEE HE EE EE EEE EEE EAE EE EE EE EER ERA EERE FI HWE setenv RUN SILENT 1 on error FI HANDLER run hwfilter show fdd
90. s grants the end user of the Software Licensee a personal nonexclusive nontransferable license a to use the Software either on a single computer or if applicable on a single authorized device identified by host ID for which it was originally acquired b to copy the Software solely for backup purposes in support of authorized use of the Software and c to use and copy the associated user manual solely in support of authorized use of the Software by Licensee This license applies to the Software only and does not extend to Bay Networks Agent software or other Bay Networks software products Bay Networks Agent software or other Bay Networks software products are licensed for use under the terms of the applicable Bay Networks Inc Software License Agreement that accompanies such software and upon payment by the end user of the applicable license fees for such software 2 Restrictions on use reservation of rights The Software and user manuals are protected under copyright laws Bay Networks and or its licensors retain all title and ownership in both the Software and user manuals including any revisions made by Bay Networks or its licensors The copyright notice must be reproduced and included with any copy of any portion of the Software or user manuals Licensee may not modify translate decompile disassemble use for any competitive analysis reverse engineer distribute or create derivative works from the Software or user manuals or any
91. s and ends with a colon consists of up to 15 alphanumeric characters and the underscore character _ and must be on its own line beginning in column 1 Syntax The goto command has the following syntax goto lt abel_name gt lt label_name gt is the name of the label Examples In the following script you instruct the script file to go to the LABEL label Note The following examples only work from a script file the examples will not work from an interactive Technician Interface console goto LABEL echo This line is not executed LABEL The argument to the goto command can be a variable whose value is a valid label in the script file This allows for dynamic branching within the script file setenv vector Sy LABED 2 goto Svector echo This line is skipped LABEL 2 117382 A Rev A 241 Writing Technician Interface Scripts if The if command allows you to evaluate whether an expression is true The expression can be a comparison of two numerical values or two ASCII strings If the expression is true the script interpreter executes any additional commands that are on the same command line as the if command If the expression is false the script interpreter does not execute the if command You use a semicolon to end an if command The semicolon separates the if command from the additional commands you want executed if the if command is true Syntax The if comma
92. s arrayenv cutenv enumenv instenv let mibget setenv or sprintf For more information about these commands see Chapter 2 Note The value of a variable in the local or global table takes precedence over a variable with the same name in the system variable table Special Variables This section describes how to use input variables how to prompt for user entry from the console and how to access and format information from the MIB Input Parameters The Technician Interface reserves the following variables as input parameters for a script file 1 2 3 4 5 6 7 8 9 and The special variable contains the number of parameters entered on the command line following the script file name It is set to zero if no parameters are entered For more information about input parameters see run in Chapter 2 1 4 117382 A Rev A Creating a Script File Prompting for Input The input prompt variable allows you to create a prompt that accepts user input from the Technician Interface console The syntax of the input prompt variable is lt prompt_string gt The Technician Interface prompts the user with the message you entered between the brackets lt gt In the following script setenv ans S lt Enter your name gt echo Your name is Sans Enter your name appears on the user s console After the user enters a value the Technician Interface substitutes the value for ans and displays
93. s to make the script file easier to read Also if there is a large amount of code following the if command use a goto command to branch around the conditional code Example 3 The following example shows an if command with a goto command TE num 1 then goto IF_10 echo the number is 1 IF T0 Example 4 The following script shows how the if command is used to pass parameters into the script file echo Number of parameters entered on run line let index 1 LOOP if Sindex gt 4 then goto LOOP_END echo Parameter Sindex Sindex let index Sindex 1 goto LOOP LOOP END To test whether a variable is defined use the if command with the following syntax if variable name 1 where 1 defined 2 14 117382 A Rev A Command Reference Example 5 For example the following script tests whether variable a has been defined setenv a 5 if a 1 then echo Defined To test whether a file is present use the if command with the following syntax if file lt filename gt 1 Example 6 For example the following script tests whether the install bat file is present Lf file install bat 1 then echo File present To test whether a directory is present use the if command with the following syntax if dir lt directory_name gt 1 Example 7 For example the following script tests whether volume 2 is present if dir 2 1 then echo Vo
94. sRx array a attr wfFDDIMacErrRx wfFDDIRxOversizedFrames enum 1 Cct Slot Node CrcErrRx OverrunRx InvalidFrame MacErrRx i enum i RxOversized echo echo FDDI Module Receive Errors cho Ww m echo printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s n wir wir wi CRC Overrun Invalid Frames 117382 A Rev A A 15 Writing Technician Interface Scripts printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s n Slot Conn Circuit Errors Errors Frames Too Long printf 4 4s 4 4s 8 8s 10 10s 10 10s 10 10s 10 10s n Mw m Ww m uw m Ww m uw m N let i 0 FI_RXLOOP mibget n wfFddiEntry attr nextid value nextid if nextid END then let i i 1 goto FOOTER_AND_END let cctnum S value Cct gosub GETCCTNAME if matchcct then goto FI PRNTR if ic matchcct Scctname then goto FI RCV NXT let match entries match entries 1 FI OPRNTR print value Node 4d 4d value S10t printf 8 8s 10u 10u cctname value CrcErrRx S value OverrunRx let invalid gosub MAC_EXTRACT let invalid Sinvalid mac_sum printf 10u 10u Sinvalid value RxOversized echo cutenv c9 15 name2 cctname if name2 0 1 then S value InvalidFra
95. such portions of the software were developed by the University of California Berkeley The name of the University may not be used to endorse or promote products derived from such portions of the software without specific prior written permission SUCH PORTIONS OF THE SOFTWARE ARE PROVIDED AS IS AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE In addition the program and information contained herein are licensed only pursuant to a license agreement that contains restrictions on use and disclosure that may incorporate by reference certain limitations and notices imposed by third parties ii 117382 A Rev A Bay Networks Inc Software License Agreement NOTICE Please carefully read this license agreement before copying or using the accompanying software or installing the hardware unit with pre enabled software each of which is referred to as Software in this Agreement BY COPYING OR USING THE SOFTWARE YOU ACCEPT ALL OF THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT THE TERMS EXPRESSED IN THIS AGREEMENT ARE THE ONLY TERMS UNDER WHICH BAY NETWORKS WILL PERMIT YOU TO USE THE SOFTWARE If you do not accept these terms and conditions return the product unused and in the original shipping container within 30 days of purchase to obtain a credit for the full purchase price 1 License Grant Bay Networks Inc Bay Network
96. t S list 0 then goto FI SAMP WT SKP if matchcct W then goto FI SAMP1 NOW let cctnum wfFddiEntry wfFDDICct list_ i go if sub GETCCTNAME rm ic matchcct FI SAMP1 NOW le le se se se se se match entries m match entr tenv slinstid m tenv slrxfrms_Sm tenv sltxfrms m tenv slrxlors_Sm tenv sltxlors 9m FI_SAMP1_SKP Scctname then goto FI_SAMP1_SKP Smatch_entries 1 ies S list_ i wfFddiEntry wfFDDIFramesRxOk list_ i wfFddiEntry wfFDDIFramesTxOk list_ i w FddiEntry wfFDDIRingOverrunRx list_ i wfFddiEntry wfFDDITxClipFrames list i Nr if S match entries 0 then goto FOOTER AND END let i i 1 goto FI_SAMP1_LP Wait the proscribed period of time FI_SAMP_WT printf r let slinstid_0 match entries printf Waiting 2u seconds period pause period Take the second sample Collecting the second sample in its entirety before calculating output is preferred because the variance in sample times between instances of the MIB object should be reduced printf Nr printf Taking second sample instenv list wfFddiEntry let i l let match entries lf 1ist O0 0 then printf Nf Np EON Nets N goto FOOTER AND END FI SAMP2 LP error FI SAMP2 SKP on A 30 117382 A Rev A
97. tenv ans S lt Enter selection gt if Sans then goto MENU if Sans 1 then date echo W A goto MENU if Sans 2 then let vol wfTftp wfTftpDefaultVolume 0 echo Tftp Default Volume vol N goto MENU if Sans 3 then echo 1 Display 117382 A Rev A A 1 Writing Technician Interface Scripts let vol Enter new TFTP Default Value gt set wfTftp wfTftpDefaultVolume 0 vol go to MENU if Sans 4 then echo Exiting N goto EXIT echo Bad choice try again pause 2 goto MENU EXIT If you place a label at the end of the script file you can terminate the script file at any time by executing a goto EXIT command FDDI MNU Script The following example shows a menu script for a Bay Networks router WSCCS j scripts fddi mnu 1 1 4 8 95 f Heat aE aE aE aE aE aE aE aE aE HE aE HE aE HE aE AE EE HEH HE HE a a a a aE HEHE aE a a a EE Ea a aE EE a a EE Copyright 1995 Bay Networks Inc Heat aE aE aE aE aE AE aE aE aE HE aE HE aE HE aE A EAE FE aE HE HE aE a a a a EE aE HEHE aE a a a aE HE aE a a E HEHE a a aE alias setcmd let cmd 0 Scmd_0 1 setenv cmd N cmd O 1 let title 0 M title 0 1 setenv title M title O0 22 setenv maintitle FDDI Menu setenv cmd O n Pid setenv title 0 0 setcmd show fddi alerts Alerts setcmd show fddi base Base Info
98. the message Your name is followed by the name entered by the user For instructions on using the setenv command and the echo command see Chapter 2 Polling the Console for Input You can specify how much time a user has to respond to a prompt that is to press Return before the system times out If you do not specify a timeout value the system prompts the user for input until the user responds To specify a timeout value enter the following command where lt value_in_seconds gt is the length of time in seconds that the system will wait for a response before timing out let SYS IO TIMEOUT value in seconds The timeout value cannot exceed the timeout specified by one of the following MIB objects wfSerialPort wfSerialPortTimeOut 0 or wfTelnet wfTelnetSerialPortTimeOut 0 For example if you specify a timeout of 600 seconds and the timeout specified by wfSerialPort wfSerialPortTimeOut 0 5 minutes the system uses the timeout value given by wfSerialPort wfSerialPortTimeOut 0 For instructions on using the let command see Chapter 2 117382 A Rev A 1 5 Writing Technician Interface Scripts In the following script if the user does not press Return before the time specified for SYS IO TIMEOUT has elapsed nothing entered appears on the user s console let SYS IO TIMEOUT 10 setenv ans S lt Enter your name gt echo Your name is Sans if Sans then echo nothing entered To
99. u can use the scripts to display information about protocols and network services and to enable and disable protocols circuits lines and services You may also choose to write your own scripts using this manual as a guide Technician Interface scripts are very similar to UNIX shell scripts This chapter describes how to perform the following tasks using the Technician Interface script commands e Prompting the user for input using the special variable lt prompt gt e Referencing and using MIB information using the special variable lt object attribute instance gt the mibget and instenv commands and formatting MIB entries using the octetfmt command e Creating using and deleting variables using the arrayenv cutenv enumenv getenv instenv let setenv sprintf and unsetenv commands e Changing a local variable into a global variable using the export command e Evaluating an arithmetic or logical expression using the let command e Parsing a text string using the cutenv command e Controlling the execution of the script using the if goto pause gosub and return commands 117382 A Rev A Writing Technician Interface Scripts Writing messages to the console using the echo and the printf commands e Recording console messages to a file using the record command e Handling and recovering from errors using the on error command e Inserting comments into a script file using the pound sign e Debugging a script f
100. uctions on using the record command see Chapter 2 Performing Error Recovery To specify an error handler label within a script file use the on error command If a command returns an error or if you attempt to abort the script file the script interpreter goes to the error handler label defined in the file If you press Ctrl c to abort the script the Technician Interface displays the following prompt Terminate script file y n You can use the on error command with the s flag to allow the script to recover without returning an error message if the on error command cannot locate a specified script file The following example shows the on error command with the s flag on error s ERROR_HANDLER For more information about the on error command see Chapter 2 in this manual 117382 A Rev A Creating a Script File Inserting Comments You can insert comments into the script file Comments begin with a pound sign in column 1 as shown in the following example The echo command is used to output messages to the user s console When you execute a script file the system does not display the comments on the user s console Debugging a Script File To enable the debug trace facility use the verbose command When you enable the trace facility the Technician Interface displays each command read from the script file before and after its variables have been expanded For instructions on using the verbose c
101. ue SmtRingErrRx let tlerrs tlerrs value PortOpErr TON S value SInternOpErr let tlerrs tlerrs value SHostErr Display the line printf 4d 4d 8 8s value Slot value Node cctname printf 10u 10u 10u 10u 10u value OctetsRxOk S value FramesRxOk value SOctetsTxOk S value S FramesTxOk Stlerrs echo cutenv c9 15 name2 Scctname if name2 0 1 then printf 4s 4s 7 7sNn S name2 1 FI_STAT_NXT let i i 1 goto FI_STLOOP 117382 A Rev A Sample Scripts HHHPHERHEEAEEEEEEEEEEERREEPEEREEE EERE ESEEEPEEEPEEEE EEE EHEEE SHH Receive Errors screen HHHPHEPHEEREEEEPEEEEEEREEEPEEREEEREEEPEEESEEAPEEEPEEEE EERE E E FI_RCV if 4 3 then goto FI_Rx1 let cmdlen strlen 3 let i strindex errors 3 if i 1 then if cmdlen gt 3 then goto FI Rxl goto FI HELP th Rel let i l check for circuit name to match on if 4 lt 3 then goto FI RCV NM setenv cmd 4 let len strlen cmd if Slen lt 3 then goto FI HELP SHOW let j strindex circuit cmd if j 1 then goto FI HELP SHOW if Sf 5 then goto FI HELP SHOW setenv matchcct 5 FI RCV NM wr setenv nextflag setenv pattern setenv nextid wa Na array attr wfFDDICct wfFDDISlot wfFDDINode wfFDDICrcErrRx array a attr wfFDDIOverrunRx wfFDDIInvalidFrameStatu
102. uter Software Restricted Rights clause of FAR 52 227 19 and the limitations set out in this license for civilian agencies and subparagraph c 1 ii of the Rights in Technical Data and Computer Software clause of DFARS 252 227 7013 for agencies of the Department of Defense or their successors whichever is applicable 6 Use of Software in the European Community This provision applies to all Software acquired for use within the European Community If Licensee uses the Software within a country in the European Community the Software Directive enacted by the Council of European Communities Directive dated 14 May 1991 will apply to the examination of the Software to facilitate interoperability Licensee agrees to notify Bay Networks of any such intended examination of the Software and may procure support and assistance from Bay Networks 7 Term and termination This license is effective until terminated however all of the restrictions with respect to Bay Networks copyright in the Software and user manuals will cease being effective at the date of expiration of the Bay Networks copyright those restrictions relating to use and disclosure of Bay Networks confidential information shall continue in effect Licensee may terminate this license at any time The license will automatically terminate if Licensee fails to comply with any of the terms and conditions of the license Upon termination for any reason Licensee will immediately destroy or retur
103. xample if command syntax is ping jp address you enter ping 192 32 10 12 Indicates text that you need to enter command names and buttons in menu paths Example Enter wfsm amp Example Use the dinfo command Example ATM DXI Interfaces PVCS identifies the PVCs button in the window that appears when you select the Interfaces option from the ATM DXI menu Indicate optional elements You can choose none one or all of the options Horizontal and vertical ellipsis points indicate omitted information Indicates variable values in command syntax descriptions new terms file and directory names and book titles Indicate the title of a chapter or section within a book Indicates data that appears on the screen Example Set Bay Networks Trap Monitor Filters Separates menu and option names in instructions and internal pin to pin wire connections Example Protocols gt AppleTalk identifies the AppleTalk option in the Protocols menu Example Pin 7 19 20 Indicates that you enter only one of the parts of the command The vertical line separates choices Do not type the vertical line when entering the command Example If the command syntax is show at routes nets you enter either show at routes or show at nets but not both Xii 117382 A Rev A About This Guide Acronyms ANSI American National Standards Institute ARP Address Resolution Protocol ASCII American Standard Code for I
Download Pdf Manuals
Related Search
Related Contents
平成21年度ファイル基準表 保存単位 総務部 総務課 ページNo IRiver iFP-180T MP3 Player Heron User Guide - Algol HM5530 Manual franz. span.indd User`s Manual - E-Ride HOLS電気温水器取扱説明書 HTMC-3601B,HTMC Compucase 62RA Copyright © All rights reserved.
Failed to retrieve file