SPC II Architecture

Download Report

Transcript SPC II Architecture

MSR Tutorial
Group Exercises
[email protected]
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Exercise Goals
• Get you familiar with the tools we use for configuring,
testing and analyzing the MSR
• Get you familiar with building and running an MSR
• Not worry about a lot of MSR internal details
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
2
General Info
• Each group will be using 3 PCs
– Data Source ($DSRC) Linux
– Monitor Switch Control Processor ($SWCP), NetBSD
– MSR Control Processor ($MSRCP), Linux
• All utilities work on both Linux and NetBSD
• You must use NetBSD when building:
– MSR Kernels and Plugins
• The exercises will start out by giving you very specific
directions.
• Later exercises leave out some details that you should
be able to fill in from what you learned in earlier
exercises.
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
3
General Info (continued)
• MSRs are configured with serial cables to SPCs on Ports
4 and 5. See aliases spc4 and spc5 in the readme file and
your login script.
• We are going to be configuring and testing a router based
on the WUGS and SPCs from the hardware on up.
• There are a LOT of details involved. Your login script
defines macros/variables to simplify the configuration
process. In particular the hosts are defined by the
variables:
– MSRCP, SWCP and DSRC
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
4
Preliminaries
• Prior to you doing the exercises we have already
defined a few simplifying macros and built the
software utilities:
–
–
–
–
–
–
–
–
–
–
–
See $MSRTUT/README for a complete list of variables and aliases
setenv REPODIR ~
setenv WUARL ${REPODIR}/wu_arl
setenv WUGS ${WUARL}/wugs
setenv WUTILS ${WUARL}/utilities/
setenv WUTUT ${WUARL}/TUTORIAL
setenv MSR ${WUARL}/msr
setenv MSRTUT ${WUTUT}/msr
cd ${WUGS}/src
gmake OSTYPE={Linux | NetBSD} depend
${WUARL}/Make.script install
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
5
IP Configuration for Exercises
192.168.204.1
P3
IP Router
(Switch + SPCs + CP)
P1
192.168.205.1
192.168.204.2
Switch
CP
Host
P1
vci = 50
192.168.200.2
192.168.208.1
P2
P2
192.168.200.1
P0
MSR
CP
192.168.220.1
vci = 51
P5
P5
192.168.205.2
192.168.220.2
192.168.216.1
192.168.216.2
Data
P4
P0
P4
vci = 50
Src
Host
192.168.224.1
P6
P6
192.168.216.1
P3
Monitoring
Switch P7
Fred Kuhns - 7/16/2015
192.168.228.1
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
P7 MSR-#
Switch
NH
MSR
(P3)
192.168.216.2
6
Group Host Assignments
Data Source Switch CP
MSR CP
${DSRC}
${SWCP}
${MSRCP}
(Linux)
(NetBSD)
(Linux)
1
mouser
demand5
demand4
2
tabby
deak
demand0
3
motti
nmvc2
nmvc1
4
abyssinian
gussie
demand3
5
tomcat
nmvc3
demand8
Group #
Fred Kuhns - 7/16/2015
Port 4 SPC
serial line
Port 5 SPC
serial line
demand5
demand4
tip spc1
cu -l ttyS0 -s 9600
deak
demand0
tip spc0
cu -l ttyS0 -s 9600
deak
demand7
tip spc4
cu -l ttyS0 -s 9600
nmvc2
tomcat
tip spc1
cu -l ttyS0 -s 9600
demand5
demand7
tip spc0
cu -l ttyS1 -s 9600
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
7
Preliminaries - Host ATM config
• All steps are also recorded in the
${MSRTUT}/cfgs/README file. You can simple open this
file, then cut and paste the commands
• Logging on to the Tutorial hosts:
– login: msr#
password: Msr#Tut
– root password, where needed: TutR00T (those are
zero’s)
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
8
Preliminaries - Host ATM config
1.Login to the Data Source host, open a local window (Linux)
• open local window - use the alias ‘local’ defined in login script
alias local '/usr/X11R6/bin/xterm -j -sb -sl 1000 -bw 3 -T "Local" &'
• go to config directory and become the root user
• cd ${MSRTUT};su
• Assuming atmarpd has not be started,
• /etc/init.d/atm start
• ps -agx | grep | egrep "atmsigd|ilmid“
• kill <atmsigd_pid> <ilmid_pid>
• Configure the APIC interface
• ./apic.cfg port 4
• exit root
• exit
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
9
Preliminaries - Host ATM config
2.Open window on the monitoring Switch CP (NetBSD Host)
• use alias swcp, this is already defined in your login script
alias swcp 'ssh -f $SWCP /usr/X11R6/bin/xterm -ls -j -sb -sl 1000 -bw 3 -T "SWCP\($SWCP\)"'
• go to config directory and become the root user
• cd ${MSRTUT}/cfgs; su
• configure local APIC interface for the switch cp
• ./apic.cfg port 1 swcp
• exit root user
• exit
• Start up GBNSC and configure Monitoring Switch
• ${WUGS}/bin/NetBSD/newGBNSC.init -P3551
-init init.GBNSC.switch1 config.GBNSC.switch1 &
• ${WUGS}/bin/NetBSD/Jammer 0.1 ${SWCP} 3551 group.js
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
10
Preliminaries - Host ATM config
3.Open window on the MSR CP (Linux Host)
• use the alias ‘msrcp’ defined in your login script
alias msrcp 'ssh -f $MSRCP /usr/X11R6/bin/xterm -j -sb -sl 1000 -bw 3 -T "MSRCP\($MSRCP\)"‘
• go to config directory and become the root user
• cd ${MSRTUT}/cfgs;su
• Assuming atmarpd has not be started,
• /etc/init.d/atm start
• ps -agx | grep | egrep "atmsigd|ilmid“
• kill <atmsigd_pid> <ilmid_pid>
• configure local APIC interface for the switch cp
• ./apic.cfg port 0
• exit root user
• exit
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
11
Preliminaries - Building a kernel
• Go to your Switch CP host window (must be NetBSD)
• The following environment variables are defined in your login
script
•
•
•
•
SYS = ${MSR}/usr/src/sys
CONF = ${SYS}/arch/i386/conf
DKERN =${SYS}/arch/i386/compile/MSR_SPC
PKERN = ${SYS}/arch/i386/compile/MSR_SPC_PERF
• Building a kernel (On NetBSD)
– cp ${MSRTUT}/FS/SPC24MB.fs /usr/MSR
– Debug kernel
1. cd $CONF; config MSR_SPC
2. cd $DKERN; make depend;make
– Performance kernel
1. config MSR_SPC_PERF
2. cd $DKERN;make depend;make
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
12
Preliminaries - Building a kernel
• Copy kernel symbols into the filesystem (still on SWCP - NetBSD)
– cp ${MSRTUT}/FS/SPC24MB.fs /usr/MSR
– su # become the root user
• vnconfig -t spc24MB -v -c /dev/vnd0d SPC24MB.fs
• mount /dev/vnd0d /mnt
• ${WUTILS}/bin/NetBSD/mknl ${DKERN}/netbsd
/mnt/netbsd or
${WUTILS}/bin/NetBSD/mknl ${PKERN}/netbsd
/mnt/netbsd
• umount /mnt
• vnconfig -u /dev/vnd0d
– exit
– cp /usr/MSR/SPC24MB.fs ${MSRTUT}/FS/SPC24MB.fs
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
13
Preliminaries - SPC Kernel continued
• Go to the MSRCP window. Copy kernel and filesystem to the
staging area
– cd /usr/MSR
– cp ${MSRTUT}/FS/SPC24MB.fs /usr/MSR
– rm /usr/MSR/netbsd.MSR
– cp ${DKERN}/netbsd /usr/MSR/netbsd.DEBUG or
cp ${PKERN}/netbsd /usr/MSR/netbsd.PERF
– ln -s /usr/MSR/netbsd.DEBUG /usr/MSR/netbsd.MSR or
ln -s /usr/MSR/netbsd.PERF /usr/MSR/netbsd.MSR
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
14
Preliminaries - MSR Configuration
• Go to the MSRCP window
– Download kernels and configure switch
• cd ${MSR}/cp/configuration
• ./Linux/MSR_Config -f config.MSR
– set port (SPC) default parameters
• cd ${MSRTUT}/cfgs
• ./defconfig.cmd
– start up GBNSC for use by the GUI monitoring tool
• ${WUGS}/bin/Linux/newGBNSC -P3551
config.GBNSC.MSR &
• Start up the GUI: go to the Data Source Host’s local window
– /pkg/jdk1.2.2/bin/java -jar ${MSR}/apps/javaGUI/pubgui.jar
– then load the msrgui.txt configuration file and arrange windows
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
15
Preliminaries - Traffic Generation
• We will use sendpkts for all exercises in the MSR tutorial
• sendpkts - uses default socket interface and requires configuration of
IP and ATM VCs on data sources
– ${WUTILS}/bin/Linux/sendpkts -S -n 10 -a 1 –l 192.168.216.2 192.168.211.2
• AAL5Generator - uses APIC User mode library and cannot coexist
on the same VCIs as sendpkt,
– undo atm: su; sh ${WUGRP}/cfgs/IP/DataSource.atm.undo;exit
– ${WUTLS}/AAL5Generator -pacer 8
\
-src 192.168.216.2 -dst 192.168.211.2
\
-frate 1000 -svci 50 -seconds 20 -packet 20
– Use sendCommand utility to change AAL5Generator’s output
• Sending commands to the ports using sendcmd and monitoring
debug messages with monmsgs.
– ${MSR}/bin/Linux/monmsgs &
– ${MSR}/bin/Linux/sendcmd -p 4 -c policy -s set_dflags -d 0x30 -t 10000
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
16
Exercise 1 - Part 1
•
Update the Tutorial Directory
1. cd $MSRTUT
2. cvs update -A -d
•
Default routes using the built in Simple route module
and table
3. copy $MSRTUT/cfgs/hosts to /etc/hosts on both the SWCP
and DSRC hosts
4. in the MSR CP window, Download a DEBUG kernel and
verify
5. In the Data Source window generate IP traffic from Data
Source (192.168.216.2) to port 5 of the MSR and verify with
the GUI
$WUTILS/bin/Linux/sendpkts -x 1000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.220.2
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
17
Exercise 1: Part 1
•
Bidirectional traffic using an echo server on SWCP
6.
7.
In the SWCP window, start up a IP packet echo server
$WUTILS/bin/NetBSD/serv -p 5050 -e 1
This will echo all packets received back to he sendpkt command
In the DSRC window, send packets to the SWCP host
(192.168.204.2)
$WUTILS/bin/Linux/sendpkts -x 1000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.204.2
this command sends single cell packets at a rate of 1000 per
second. Verify with the GUI that packets are “flowing” in both
directions.
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
18
Exercise 1, Part 1: Default Routes
192.168.204.1
P3
P1
192.168.205.1
192.168.204.2
Switch
CP
Host
192.168.208.1
P1
P2
vci = 50
P0
CP
192.168.220.1
192.168.205.2
P5
P5
probe
(C)
vci = 51
192.168.220.2
192.168.216.1
192.168.216.2
Data
192.168.200.2
192.168.200.1
MSR
P2
vci = 50
P4
P0
probe
(A)
Src
Host
P4
192.168.224.1
P6
P6
probe
(B)
IP Forwarding
Simple, Default
routes, at Port 4
192.168.216.1
P3
192.168.228.1
Monitoring P7
Switch
Fred Kuhns - 7/16/2015
WASHINGTON UNIVERSITY IN ST LOUIS
MSR
(P3)
P7 MSR-#
Washington
NH
192.168.216.2
Switch
19
Exercise 1, Bidirectional Traffic
Destination Route =
OutVIN = <P1, S0>,
Maps to Port 1, VCI = 50
192.168.204.1
probe
(C)
P3
P1
192.168.204.2
serv (echo)
Switch
CP
Host
P1
vci = 50
192.168.208.1
P2
192.168.200.2
192.168.200.1
MSR
P2
P0
CP
192.168.220.1
P5
P5
probe
(B)
192.168.216.1
Data
sendpkts
P4
probeP0
(A)
P4 IP Forwarding
vci = 50
Src
192.168.216.2
Host
192.168.224.1
P6
P6
using FIPL at
Port 4
192.168.216.1
P3
192.168.228.1
Monitoring P7
Switch
Fred Kuhns - 7/16/2015
WASHINGTON UNIVERSITY IN ST LOUIS
MSR
(P3)
P7 MSR-#
Washington
NH
192.168.216.2
Switch
20
Exercise 1, Part 2
• Enable the FIPL module and define the routing tables
– In the MSRCP window
• turn fipl on at port 4
${MSR}/bin/Linux/sendcmd –p 4 –c policy –s set_fipl –t 10000
• Install routes port 4, add route to port 5, subport 0
${MSR}/bin/Linux/fip –s –p 4
Enter command (h for help): a 192.168.220.0/24 320
– Verify, in the DSRC Window execute the command
• $WUTILS/bin/Linux/sendpkts -x 1000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.220.2
• Verify traffic follows correct route with the GUI
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
21
Exercise 1, Part 3
• Add routes from port 4 to port 1, subports 0 and 1
– in the MSRCP window
• add routes to existing fip session
Enter command (h for help): a 192.168.204.0/24 64
...
Enter command (h for help): a 192.168.205.0/24 65
• quite fip
Enter command (h for help): quite
• Define the return routes from port 1 to port 4
– in the MSRCP window
• To simplify the process, the script fipl.cmd enables fipl and
defines default routes to all virtual interfaces.
$MSRTUT/cfgs/fipl.cmd port 1
or to enable fipl and define routes on all ports
$MSRTUT/cfgs/fipl.cmd
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
22
Exercise 1, Part 3
• Send packets from the data source (DSRC) to the Switch CP
host (SWCP) at its alias IP address on subnet 192.168.205.
– Open a second local window on the data source host
– in one window send packets to 192.168.204.2
• $WUTILS/bin/Linux/sendpkts -x 1000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.204.2
– in the other window send packets to 192.168.205.2
• $WUTILS/bin/Linux/sendpkts -x 1000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.205.2
– Verify bidirectional traffic using the GUI - the echo
server should still be running on the switch CP host.
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
23
Exercise 1, Part 3: SubPorts
Returning traffic
not shown
probe
P3
(C)
Destination Route =
OutVIN = <P1, S1>,
Maps to Port 1, VCI = 51
192.168.204.1
P1
192.168.205.1
192.168.204.2
P1
Switch vci = 50
CP
Host
192.168.205.2
192.168.208.1
P2
P0
CP
192.168.220.1
P5
P5
probe
(B)
192.168.216.1
vci = 51
192.168.216.2
Data
192.168.200.2
192.168.200.1
MSR
P2
P4
P0probe
P4
(A)
vci = 50
Src
Host
192.168.224.1
P6
P6
192.168.216.1
P3
192.168.228.1
Monitoring P7
Switch
Fred Kuhns - 7/16/2015
WASHINGTON UNIVERSITY IN ST LOUIS
MSR
(P3)
P7 MSR-#
Washington
NH
192.168.216.2
Switch
24
Exercise 2: Fair Queuing
• In SWCP window, stop the echo server (do a ^C in the window)
– Restart the server but without the echo option
$WUTILS/bin/NetBSD/serv -p 5050 -e 0
• Set interface and internal rates (internal rate includes a speed
advantage)
– in the MSRCP window
$MSR/bin/Linux/sendcmd -p 1 -c policy -s set_trate
-d 10000 -d 0 -d 150 -t 10000 -w info
0) 50000 (0xc350) # G = Max rate for APIC interface
1) 10000 (0x2710) # T = Total Rate = Link Rate + Internal Rate
2) 4000 (0xfa0)
# L = Link Rate (aka External rate)
3) 150 (0x96)
# S’ = Speedup factor (percent)
4) 6000 (0x1770)
# Internal Rate (port to port rate)
– All rates are in Kbps.
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
25
Exercise 2: Fair Queuing
• Default behavior is effectively a FCFS, tail drop packet scheduler. In
the two Data source windows, send traffic and observe packet
scheduling behavior in the GUI
– turn on source 1, approx 3.4 Mbps
$WUTILS/bin/Linux/sendpkts -c -x 8000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.204.2
– in other window turn on source 2, approx 2.5Mbps
$WUTILS/bin/Linux/sendpkts -c -x 6000 -p 100 -a 1 -S -s 5050
-l 192.168.216.2 192.168.205.2
• With monitoring the GUI, turn on Queue State DRR
– In the MSRCP window, send command to enable qsdrr on port 1
$MSR/bin/Linux/sendcmd -p 1 -c policy -s set_ps -d 2
• The two flows not fairly share available BW, go boack to the FCFS
scheduler (in the MSRCP window)
– $MSR/bin/Linux/sendcmd -p 1 -c policy -s set_ps -d 0
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
26
Exercise 3: Plugins
• Compiling and downloading a plugin
– in the SWCP window (Need NetBSD), build the object file
(combined.o)
cd ${MSR}/rp/plugins/msr_template
make
– Then in the MSR CP window, download plugin to running SPC
kernel (msr_template is hte entry point name)
cd ${MSR}/rp/plugins/msr_template
setenv WU_ARL_ROOT $WUARL
$WUTILS/bin/Linux/pluginDownload -p 5
-e msr_template -s combined.o
Plugin successfully loaded with module ID: 0
– The downloader prints out the plugin id number. You will need this
in later commands.
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
27
Exercise 3: Plugins
• Next, turn on debug messages for the plugin, classifier and pcu
modules
– In the MSR CP window
$MSR/bin/Linux/sendcmd -p 5 -c set_debug -l verbose
-m plugin -m ctl -m pcu -m classify
## Create an instance of the plugin
• Turn on the general match classifier
– In the MSR CP window
$MSR/bin/Linux/sendcmd -p 5 -c policy -s set_gen -d 1
• Create one instance of the plugin
– In the MSR CP window
$MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s create -i 100 -w info
this creates instance number 0 of the plugin (see debug messages
or the return value with -w info is used with the sendcmd
command)
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
28
Exercise 3: Plugins
• For a plugin to be called, it must be bound to either a general or exact
match filter. In this exercise we use the general match filters - the exact
match interface is still “sensitive”
– Now create a general match filter that the plugin will be bound to.
– addfltr - Add fltr: gid, fid, flags, src/msk, sp, dst/msk, dp, pr
– gid = 0 for general match and 1 for exact match
– use flags = 0 and set filter id to 0 for the first filter
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s addfltr
-g 0 -f 0 -F 0 -n 0 -n 0 -d 0
-n 192.168.220.0 -n 255.255.255.0 -d 0 -d 0
-f is the filter id for use when we bind the plugin
This will match any packets with a destination network prefix
equal to 1923.168.200.0/24.
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
29
Exercise 3: Plugins
• Now that we have a plugin instance and a general match filter is
installed, we need to bind the plugin instance to the filter
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s bind -i 0 -g 0 -f 0
This binds plugin instance ID 0 to general match filter ID 0.
• Send a message to the bound plugin. The plugin will both printout and
return the number of packets it has seen
– $MSR/bin/Linux/sendcmd -p 5 -c rp_inst -d 0
• Send packets that will match the filter.
– In one of the the Data Source windows, send 10 packets
$WUTILS/bin/Linux/sendpkts -n 10 -a 1 -S -s 5050 -l
192.168.216.2 192.168.220.2
• Then send message to plugin and read the number of packets
– MSR/bin/Linux/sendcmd -p 5 -c rp_inst -d 0 -w info
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
30
Exercise 3: Plugins
• Get a list of loaded classes, instances and filters - prints to SPC
window
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s clist -t 100000 -w info
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s ilist -t 100000 -w info
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s flist -g 0 -w info
• Unbind the instance
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s unbind -i 0 -g 0 -f 0
• Free the instance
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s free -i 0
• Remove general match filter
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s remfltr -f 0 -g 0
• Unload a plugin (ignore error message)
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s unload -d 0
• Check on plugin status
– $WUTILS/bin/Linux/pluginStat -p 5 0
Washington
Fred Kuhns - 7/16/2015
WASHINGTON UNIVERSITY IN ST LOUIS
31
Exercise 3: Plugins
• Download the plugin a second time and and create three instances
– cd $MSR/rp/plugins/msr_template/
– $WUTILS/bin/Linux/pluginDownload -p 5 -e msr_template -s combined.o
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s create -i 100 -w info
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s create -i 100 -w info
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s create -i 100 -w info
• Create three filters
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s addfltr -g 0 -f 1 -F 0 -n 0 -n 0 -d 0
-n 192.168.220.0 -n 255.255.255.0 -d 0 -d 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s addfltr -g 0 -f 1 -F 0 -n 0 -n 0 -d 0
-n 192.168.221.0 -n 255.255.255.0 -d 0 -d 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s addfltr -g 0 -f 2 -F 0 -n 0 -n 0 -d 0
-n 192.168.222.0 -n 255.255.255.0 -d 0 -d 0
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
32
Exercise 3: Plugins
• Bind instances
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s bind -i 0 -g 0 -f 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s bind -i 1 -g 0 -f 1
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s bind -i 2 -g 0 -f 2
• Now send packets so that each of the plugins will receive a
different number of packets.
– In the Date Source Window
$WUTILS/bin/Linux/sendpkts -n 5 -a 1 -S -s 5060 -d 5090
-l 192.168.216.2 192.168.220.2
$WUTILS/bin/Linux/sendpkts -n 8 -a 1 -S -s 5060 -d 5090
-l 192.168.216.2 192.168.221.2
$WUTILS/bin/Linux/sendpkts -n 11 -a 1 -S -s 5060 -d 5090
-l 192.168.216.2 192.168.222.2
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
33
Exercise 3: Plugins
• Send messages to the different instances
– $MSR/bin/Linux/sendcmd -p 5 -c rp_inst -d 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_inst -d 1
– $MSR/bin/Linux/sendcmd -p 5 -c rp_inst -d 2
• Print out information about loaded classes, instances and
fliters:
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s clist -t 100000 -w info
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s ilist -t 100000 -w info
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s flist -g 0
• Unbind instances
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s unbind -i 0 -g 0 -f 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s unbind -i 1 -g 0 -f 1
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s unbind -i 2 -g 0 -f 2
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
34
Exercise 3: Plugins
• Free instances
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s free -i 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s free -i 1
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s free -i 2
• Remove filters
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s remfltr -f 0 -g 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s remfltr -f 1 -g 0
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s remfltr -f 2 -g 0
• Unload class
– $MSR/bin/Linux/sendcmd -p 5 -c rp_pcu -s unload -d 0
Fred Kuhns - 7/16/2015
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
35