It’s possible to do parallel functional testing - one NIC in each parallel execution (two parallel processes/execution can't use the same NIC). There are multiple ways to do this. Using containers seems the most straightforward, but maybe we can use Python’s async module.
What is the problem when running 2 DTS in parallel not sharing the same HW?
There isn't and it's possible that's going to be how we do it. If using containers (or any other isolation), then there won't ever be a problem, but if we want to run two DTS instances without isolation, there may be some extra work to ensure that the two instances don't share resources (such as log files).