linux-rdma / ibsim Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
How to reproduce:
docker run --name centos7 -v `pwd`:/ibsim -i -t --rm centos:7 bash
yum group install --assumeyes "Development Tools"
yum install --assumeyes rpmdevtools
yum install --assumeyes libibmad-devel libibumad-devel
mkdir -p /source
rpmdev-setuptree
cd /ibsim
IBSIM_VERSION=`cat ibsim/ibsim.c | sed -ne '/#define IBSIM_VERSION /s/^#define IBSIM_VERSION \"\(.*\)\"/\1/p'`
make dist RELEASE=1
tar -xOzf ibsim-${IBSIM_VERSION}.tar.gz ibsim-${IBSIM_VERSION}/ibsim.spec > ibsim.spec
yes | cp -f ibsim-${IBSIM_VERSION}.tar.gz /root/rpmbuild/SOURCES/
rpmbuild -ba ibsim.spec
Output:
make -C ibsim install && make -C umad2sim install && make -C tests install && echo "Done."
make[1]: Entering directory `/root/rpmbuild/BUILD/ibsim-0.8/ibsim'
install -d /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin
install -d /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/lib64/umad2sim
install ibsim /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin
make[1]: Leaving directory `/root/rpmbuild/BUILD/ibsim-0.8/ibsim'
make[1]: Entering directory `/root/rpmbuild/BUILD/ibsim-0.8/umad2sim'
install -d /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin
install -d /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/lib64/umad2sim
install libumad2sim.so /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/lib64/umad2sim
make[1]: Leaving directory `/root/rpmbuild/BUILD/ibsim-0.8/umad2sim'
make[1]: Entering directory `/root/rpmbuild/BUILD/ibsim-0.8/tests'
install -d /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin
install -d /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/lib64/umad2sim
install subnet_discover /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin install query_many /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin install mcast_storm /root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin
install: omitting directory '/root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin'
install: cannot stat 'install': No such file or directory
install: omitting directory '/root/rpmbuild/BUILDROOT/ibsim-0.8-1.el7.x86_64/usr/bin'
install: cannot stat 'install': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/root/rpmbuild/BUILD/ibsim-0.8/tests'
make: *** [install] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.2AgKKI (%install)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.2AgKKI (%install)
Since 1852e31
When using the latest rdma-core, parts of ibsim fail to build:
Relevant rdma-core commit can be seen here:
linux-rdma/rdma-core@69c3e4c#diff-0962153bc328f14508d7a2033494c6ab
ibsim: /usr/lib64/umad2sim/libumad2sim.so
When simulating the network using the config file net.2sw2path4hca
provided in the list of examples we get an error that results in the network being created but lids not being initialized properly. Therefore, we are unable to route packages through the network. With the following error when running the Route command:
bad lid value. Usage: route from-lid to-lid
Output of $ ./ibsim/ibsim -s net-examples/net.2sw2path4hca
:
parsing: net-examples/net.2sw2path4hca
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [1]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [1]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [3]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [5]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [1]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [1]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [3]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 2 : [5]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 1 : [1]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 1 : [1]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 1 : [2]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
ibwarn: [29566] parse_port_connection_data: Parsing 1 : [2]
ibwarn: [29566] parse_port_connection_data: cannot parse remote lid and connection type
net-examples/net.2sw2path4hca: parsed 43 lines
########################
Network simulator ready.
MaxNetNodes = 2048
MaxNetSwitches = 256
MaxNetPorts = 13312
MaxLinearCap = 30720
MaxMcastCap = 1024
I'm unsure as to whether the configuration example files provided are correct themselves, as the output of ibnetdiscover
shows that no lids have been created or initialized.
What are we missing here? Do we need to provide the correct information in the net config files? What is the appropriate format for those files? What's the appropriate technique for routing packages through the simulated network?
Output of ibnetdiscover
:
ibwarn: [29597] sim_connect: attached as client 0 at node "Switch1"
#
# Topology file: generated on Mon Mar 25 01:45:09 2019
#
# Initiated from node 0000000000200000 port 0000000000200000
vendid=0x0
devid=0x0
sysimgguid=0x200001
switchguid=0x200001(200001)
Switch 8 "S-0000000000200001" # "Switch2" base port 0 lid 0 lmc 0
[1] "H-0000000000100003"[1](100004) # "Hca2" lid 0 4xSDR
[2] "H-0000000000100009"[1](10000a) # "Hca4" lid 0 4xSDR
[3] "S-0000000000200000"[3] # "Switch1" lid 0 4xSDR
[5] "S-0000000000200000"[5] # "Switch1" lid 0 4xSDR
vendid=0x0
devid=0x0
sysimgguid=0x200000
switchguid=0x200000(200000)
Switch 8 "S-0000000000200000" # "Switch1" base port 0 lid 0 lmc 0
[1] "H-0000000000100000"[1](100001) # "Hca1" lid 0 4xSDR
[2] "H-0000000000100006"[1](100007) # "Hca3" lid 0 4xSDR
[3] "S-0000000000200001"[3] # "Switch2" lid 0 4xSDR
[5] "S-0000000000200001"[5] # "Switch2" lid 0 4xSDR
vendid=0x0
devid=0x0
sysimgguid=0x100009
caguid=0x100009
Ca 2 "H-0000000000100009" # "Hca4"
[1](10000a) "S-0000000000200001"[2] # lid 0 lmc 0 "Switch2" lid 0 4xSDR
vendid=0x0
devid=0x0
sysimgguid=0x100003
caguid=0x100003
Ca 2 "H-0000000000100003" # "Hca2"
[1](100004) "S-0000000000200001"[1] # lid 0 lmc 0 "Switch2" lid 0 4xSDR
vendid=0x0
devid=0x0
sysimgguid=0x100006
caguid=0x100006
Ca 2 "H-0000000000100006" # "Hca3"
[1](100007) "S-0000000000200000"[2] # lid 0 lmc 0 "Switch1" lid 0 4xSDR
vendid=0x0
devid=0x0
sysimgguid=0x100000
caguid=0x100000
Ca 2 "H-0000000000100000" # "Hca1"
[1](100001) "S-0000000000200000"[1] # lid 0 lmc 0 "Switch1" lid 0 4xSDR
Thank you so much for your help and support.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.