washington washington university in st louis [email protected] cp and full msr test status
TRANSCRIPT
2WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Status• Ported to Linux (still works on NetBSD)
– Previous WUGS tools already worked on both
– newGBNSC.init and newGBNSC (read only)• Do NOT use old GBNSC anymore!
– sendcmd – MSR configuration and control utility
• Other changes and things to do:– sendcmd – MSR configuration and control utility
• Used by configuration module via script
• All output now controlled via verbose flag (-v)
– AAL5download – SPC kernel downloader• Uses the APIC User space library installed in:
– wu_arl/utilities/lib/{Linux,NetBSD}/libAPIC.a
• To Do: Better error checking
3WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Status (continued)– AAL5Generator – traffic generator
• Uses the APIC User space library installed in:– wu_arl/utilities/lib/{Linux,NetBSD}/libAPIC.a
• DONE: Add interface for on-the-fly changes:– Stop transmission: suspends APIC transmit channel– Start transmission: resumes APIC transmit channel– Change destination address: update buffer memory with new dst
» For this we may want chain to be only one desc/buffer.– Change transmission rate: change per VC pacing parameter– Quit: program exits
• DONE: Command line argument changes– DONE Packet size instead of index – DONE Make packet size continuous up to full MSR buffer size.
• DONE: buffer usage:– DONE Have it use one buffer of full MSR buffer size – DONE Set size fields based on command line arguments:
» IP Header» AAL5 Trailer» Descriptor
4WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Status (continued)• Configuration module
– Functions:• reset WUGS (causes reset of all SPCs)
• Configure WUGS with MSR VCs
• MSR component discovery (SPCs, line cards, …)– Build objects to represent ports
• Download SPC kernels (via system( ) of shell script)– To Do: integrate into Configuration module code???
• Initialize SPC kernels (via system( ) of shell script)– To Do:
» integrate into Configuration module code
» Extend sendcmd functions and install as a library
5WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Status (continued)• Configuration module (continued)
– To Do:• Overall MSR configuration file
– Router/IP information– Information to control SPC kernel initialization phase
• Make kernel download/initialization dependent on discovery• Integrate SPC kernel initialization• Make configuration module a thread• FPX integration
– Discovery– Downloads:
» What, where and how?– Initialization:
» What, where and how?– Schedule?
6WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
Full test config: Shift to Linux
M Monitors VCXT entry sends cells to bit bucket
H1
deak
50
H2
demand5
50
H3
tomcat
50
H5
demand8
50
H6
nmvc1
50
H7
tabby
50
50P1
P2
P3
P4
P5
P6
P7
P0
50
50
50
50
50
50
50
50
50
50
P1
P2
P3
P4
P5
P6
P7
P1
P2
P3
P4
P5
P6
P0
P050
50
50
50
50
50
50
MM
M M
M M
M
M
M
MM
50
50
50
50
M
M
M
P7
CP-1 gussie CP-2 nmvc3
Switch1(MSR-1)
MSR-0Switch2(MSR-4)
192.168.201.2
192.168.202.2
192.168.203.2
192.168.204.2
192.168.205.2
192.168.207.2
192.168.206.2
CP-3/H4
demand0
Linux NetBSD
7WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
Serial Ports for MSR 0• SPC 0: cvs.arl.wustl.edu (demand1): > tip spc0
• SPC 1: cvs.arl.wustl.edu (demand1): > tip spc1
• SPC2: spode: > tip spc1
• SPC3: spode: > tip spc0
• SPC4: demand4: > cu –s 9600 –l ttyS0
• SPC5: demand0: > cu –s 9600 –l ttyS0
• SPC6: demand8: > cu –s 9600 –l ttyS1
• SPC7: demand8: > cu –s 9600 –l ttyS0
8WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
General Comments• Linux cvs seems to be a little different
– CVS/Repository does not get the full path, missing /b/cvsroot
• Two sets of binaries– ./$(OSTYPE) directory in source directory
• Change in Makefiles for Linux and NetBSD– Different include paths and files – Different library paths and files– Sometimes different gcc flags– Use OSTYPE environment variable
• Linux shells use this inconsistently, therefore, use:– make OSTYPE=Linux
• Install targets and directories– wu_arl/utilities/bin/{Linux,NetBSD}/
• Each contains AAL5Generator,AAL5_download.sh, …
– wu_arl/utilities/lib/{Linux,NetBSD}/libAPIC.a– wu_arl/msr/bin/{Linux,NetBSD}
9WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Configuration FileMSR {
# Global definitionsExternalBaseVC 50InternalBaseVC 40DQ on
}
# Port 1, ATM port, virtual interface definationsPort 1 {
Debug local # where to send MSR debug messages {local, remote, both}
APIC 10000 # global pacing parameter
Verbose stats apic # [verbose, info, warning, error, critical] [apic,ipfwd,iprx,iptx,mem,dq,stats, …]
VIN 0 IP 192.168.201.1 Netmask 0xfffffff0 Point2Point APIC 4VIN 1 IP 192.168.201.16 Netmask 0xfffffff0 Point2Point APIC 2
# APIC per VC pacing parameter ^^^^^^}
10WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Configuration File (continued)# Port 2, GigE port, virtual interface definations
Port 2 {
Debug local # where to send MSR debug messages {local, remote, both}
APIC 10000 # global pacing parameter
Verbose stats apic # [verbose, info, warning, error, critical] [apic,ipfwd,iprx,iptx,mem,dq,stats, …]
VIN 0 IP 192.168.202.1 Netmask 0xfffffff0 Broadcast APIC 2
VIN 1 IP 192.168.202.16 Netmask 0xfffffff0 Broadcast APIC 2
}
# Port 3, GigE port, virtual interface definations
Port 3 {
Debug local # where to send MSR debug messages {local, remote, both}
APIC 10000 # global pacing parameter
Verbose stats apic # [verbose, info, warning, error, critical] [apic,ipfwd,iprx,iptx,mem,dq,stats, …]
VIN 0 IP 192.168.203.1 Netmask 0xfffffff0 Broadcast APIC 1
}
11WashingtonWASHINGTON UNIVERSITY IN ST LOUIS
John DeHart- 04/20/23 19:14
CP Configuration File (continued)# MSR Routing Neighbors
# Since protocols like OSPF behave differently on broadcast,
# point-to-point and non-broadcast multi-access networks
# we list the proto type here. Also, we need a way to
# bind IP router's IP address (next hop as in an intermediate
# node and not the final destination) to a MAC address. The problem
# is on broadcast networks (our GigE interface) where the packet's
# destination address is the final end-station and not the intermediate
# router's address. These entries provide a mapping from next hop router
# to MSR SubPort (SubPort maps directly to an outbound VCI on the
# interface).
Routing {
MSR IP 192.168.201.2 Proto OSPF
MSR IP 192.168.201.2 Proto OSPF
Rtr IP 192.168.201.17 Proto OSPF
MSR IP 192.168.202.2 Proto FlexNet
MSR IP 192.168.202.17 Proto OSPF
}
...