kernelkit / infix

Linux :yellow_heart: NETCONF = Infix
https://kernelkit.org
GNU General Public License v2.0
52 stars 12 forks source link

test: Virtual Nodes in Logical Topologies #789

Open wkz opened 2 weeks ago

wkz commented 2 weeks ago

Description

Today, we make heavy use of IsolatedMacVlan() to create what are effectively very lightweight VMs. In the future we will add more complex versions with multiple interfaces, e.g. a Two-Port MAC Relay (TPMR). While easy to manage in a test's implementation, these objects are not visible in the logical topology. Thus, it is hard for a reader of the test description to get an intuitive sense of what is going on.

It would be better if the logical topology could show the "VMs" as individual nodes, and then infamy would know which of those VM-types it supports.

Additional Information

As an example, let's look at the current topology for the upcoming ospf_bfd test:

Image

In this test, two redundant paths exist between R1 and R2. The "fast" path is connected via the PC, which implements a TPMR. src and dst are effectively two different PCs which will be used to verify the OSPF operation.

If these virtual elements could be separate nodes in the topology, the intent would be much clearer:

Image

Internally, infamy would pretty much mangle the second topology to look like the first one, and use that to map to the physical topology.

The corresponding nodes could be created and returned on-demand using env.xlate()

General Information

Anyone can help out by sponsoring development of new features or contributing pull requests. Please use this issue for discussions related to the feature.