> I have 2 r7525 nodes with Connectx-5 and Connectx-6 cards. I think they are not physically connected to each other. Is it possible to make such a connection?
See the Hardware chapter of the Cloudlab manual for a description of the
r7525 nodes. Click on the Docs link in the upper right of the web UI.
There is a single Connectx-5 card that is wired to the switch fabric.
There two Connectx-6 cards are Bluefield-2 and also wired the fabric.
Your profile will need to request the topology you want. For example:
"""Bluefield2 - This topology uses two Bluefield2 enabled hosts @ Clemson. They are connected back to back with 3 links; 2 of them forced to be 40G to enforce SmartNIC connectivity. The other link is only required as a common 1G interfaces have the machines connected normally, too"""
# Import the Portal object.
import geni.portal as portal
# Import the ProtoGENI library.
import
geni.rspec.pg as pg
# Import the Emulab specific extensions.
import geni.rspec.emulab as emulab
# Create a portal object,
pc = portal.Context()
# Create a Request object to start building the RSpec.
request = pc.makeRequestRSpec()
# Node bf1
node_bf1 = request.RawPC('bf1')
node_bf1.hardware_type = 'r7525'
node_bf1.disk_image = 'urn:publicid:IDN+
emulab.net+image+emulab-ops//UBUNTU20-64-STD'
iface0 = node_bf1.addInterface('interface-0')
iface1 = node_bf1.addInterface('interface-2')
iface2 = node_bf1.addInterface('interface-4')
# Node bf2
node_bf2 = request.RawPC('bf2')
node_bf2.hardware_type = 'r7525'
node_bf2.disk_image = 'urn:publicid:IDN+
emulab.net+image+emulab-ops//UBUNTU20-64-STD'
iface4 = node_bf2.addInterface('interface-1')
iface5 = node_bf2.addInterface('interface-3')
iface6 = node_bf2.addInterface('interface-5')
# Link link-0
link_0 = request.Link('link-0')
link_0.Site('undefined')
iface4.bandwidth = 40000000
link_0.addInterface(iface4)
iface0.bandwidth = 40000000
link_0.addInterface(iface0)
# Link link-1
link_1 = request.Link('link-1')
link_1.Site('undefined')
iface1.bandwidth = 40000000
link_1.addInterface(iface1)
iface5.bandwidth = 40000000
link_1.addInterface(iface5)
# Link link-2
link_2 = request.Link('link-2')
link_2.Site('undefined')
iface2.bandwidth = 1000000
link_2.addInterface(iface2)
iface6.bandwidth = 1000000
link_2.addInterface(iface6)
# Print the generated rspec
pc.printRequestRSpec(request)