Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ycai
simbricks
Commits
81e487b9
Unverified
Commit
81e487b9
authored
Sep 10, 2024
by
Jakob Görgen
Browse files
draft for 'syntactic' sugar for system specification
parent
f9792872
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
111 additions
and
0 deletions
+111
-0
experiments/pyexps/netperf_sysconf_jakob.py
experiments/pyexps/netperf_sysconf_jakob.py
+111
-0
No files found.
experiments/pyexps/netperf_sysconf_jakob.py
0 → 100644
View file @
81e487b9
from
simbricks.orchestration
import
system
"""
SYSTEM CONFIGURATION
"""
def
boilerplate
():
system
=
system
.
System
()
# create client host
host0
=
system
.
CorundumLinuxHost
()
host0_app
=
system
.
PingClient
(
host0
)
host0
.
add_app
(
host0_app
)
# create client nic
nic0
=
system
.
CorundumNIC
()
nic0
.
set_ipv4
(
'10.0.0.1'
)
# connect client host and nic
host_pci0
=
system
.
PCIeHostInterface
(
host0
)
host0
.
add_if
(
host_pci0
)
nic_pci0
=
system
.
PCIeDeviceInterface
(
nic0
)
nic0
.
set_pcie_if
(
nic_pci0
)
host0_nic0_chan
=
system
.
PCIeChannel
(
host_pci0
,
nic_pci0
)
# create host server
host1
=
system
.
I40ELinuxHost
()
host1_app
=
system
.
Sleep
(
host1
)
host1
.
add_app
(
host1_app
)
# create host nic
nic1
=
system
.
I40eNIC
()
nic1
.
set_ipv4
(
'10.0.0.2'
)
# connect host server to host client
host_pci1
=
system
.
PCIeHostInterface
(
host0
)
host1
.
add_if
(
host_pci1
)
nic_pci1
=
system
.
PCIeDeviceInterface
(
nic1
)
nic1
.
set_pcie_if
(
nic_pci1
)
host1_nic1_chan
=
system
.
PCIeChannel
(
host_pci1
,
nic_pci1
)
# create first switch
switch0
=
system
.
EthSwitch
(
system
)
# create second switch
switch1
=
system
.
EthSwitch
(
system
)
# connect first switch to client nic
nic_eth0
=
system
.
EthInterface
(
nic0
)
nic0
.
set_eth_if
(
nic_eth0
)
switch0_for_nic
=
system
.
EthInterface
(
switch0
)
switch0
.
if_add
(
switch0_for_nic
)
nic0_switch0_chan
=
system
.
EthChannel
(
nic_eth0
,
switch0_for_nic
)
# connect second switch to server nic
nic_eth1
=
system
.
EthInterface
(
nic1
)
nic1
.
set_eth_if
(
nic_eth1
)
switch1_for_nic
=
system
.
EthInterface
(
switch1
)
switch1
.
if_add
(
switch1_for_nic
)
nic1_switch1_chan
=
system
.
EthChannel
(
nic_eth1
,
switch1_for_nic
)
# connect first switch to second switch
switch0_for_net
=
system
.
EthInterface
(
switch0
)
switch0
.
if_add
(
switch0_for_net
)
switch1_for_net
=
system
.
EthInterface
(
switch1
)
switch1
.
if_add
(
switch1_for_net
)
switch0_switch1_chan
=
system
.
EthChannel
(
switch0_for_net
,
switch1_for_net
)
"""
SYSTEM CONFIGURATION SYNTACTIC SUGAR
"""
def
syntactic_sugar
():
system
=
system
.
System
()
# create client host
host0
=
system
.
CorundumLinuxHost
()
install_application
(
host0
,
system
.
PingClient
(
host0
))
# create client nic
nic0
=
system
.
CorundumNIC
()
nic0
.
set_ipv4
(
'10.0.0.1'
)
# connect client host and nic
connect_host_and_device
(
host0
,
nic0
)
# create host server
host1
=
system
.
I40ELinuxHost
()
install_application
(
host1
,
system
.
Sleep
(
host1
))
# create host nic
nic1
=
system
.
I40eNIC
()
nic1
.
set_ipv4
(
'10.0.0.2'
)
# connect host server to host client
connect_host_and_device
(
host1
,
nic1
)
# create first switch
switch0
=
system
.
EthSwitch
(
system
)
# create second switch
switch1
=
system
.
EthSwitch
(
system
)
# connect first switch to client nic
connect_net_devices
(
nic0
,
switch0
)
# connect second switch to server nic
connect_net_devices
(
nic1
,
switch1
)
# connect first switch to second switch
connect_net_devices
(
switch0
,
switch1
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment