Open lukego opened 8 years ago
Ack, clever & neat idea. Also motivates your other idea in #683 about splitting NIC driver apps into separate "half-duplex" tx and rx paths.
Brilliant idea! But what about full ixgbe emulation from hardware side? So we could run virtual PCI device and use it with upstream ixgbe driver or with snabbswitch.
Today many of our test suites depend on access to ethernet ports that are physically cabled together. I propose that we improve our tests to break this dependency. I have a specific idea for how to accomplish this. It's related to the more flexible I/O model described in #687.
The reasons I want to relax the cabling requirement are:
We would still need some cabled ports for PHY testing. It may even be worth separately testing several SFP+ modules. However, only a few driver-development servers would need to be setup like this.
Specifically I imagine keeping the ports in our original lab cabled but skipping cables for the new servers at SWITCH.
How to do it
Suppose we want to run a realistic performance test with Snabb NFV connected to one port and packetblaster to another. There are two ways to do this:
Option A:
Option B:
Here is a diagram using the notation from #684:
Both scenarios have the same effect: packets sent by each process will pass through hardware transmit/receive and then be received by the other process. The second scenario works independent of how the NIC is cabled: the ports could be connected together, or connected to a switch, or not connected at all, and the test would work the same.
Thoughts?